Pomoc - Greska prilikom spajanja baze za news i kategorije

Pomoc - Greska prilikom spajanja baze za news i kategorije

offline
  • Alen25 
  • Novi MyCity građanin
  • Pridružio: 23 Nov 2008
  • Poruke: 7

Problem je sljedeci zelim da dodam vijesti u kategorije, dole ispod je kod u kojem je greska koju ne mogu da nadjem, ako
neko zeli da mi pomogne bio bi mu puno zahvalan.


Citat:CREATE TABLE IF NOT EXISTS `kateg` (
`katID` int(11) NOT NULL auto_increment,
`ime` varchar(30) collate latin1_general_ci NOT NULL,
PRIMARY KEY (`katID`),
KEY `rubrika` (`ime`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=0 ;



Citat:CREATE TABLE IF NOT EXISTS `news` (
`id` int(11) NOT NULL auto_increment,
`naslov` varchar(255) NOT NULL,
`vijesti` text NOT NULL,
`kateg` varchar(60) NOT NULL,
`novosti` text NOT NULL,
`timestamp` bigint(20) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;


ADMINISTRACIJA_VIJESTI.PHP

Citat:
<?php
$link = mysql_connect('localhost', 'root', '')
or die('Greska: ' . mysql_error());
mysql_select_db('test') or die('Could not select database');
?>


<?php

//-----------------------------------------------------
// Provjera 1 : prepravjanje ili pisanje nove vijesti ?
//-----------------------------------------------------
if (isset($_POST['naslov']) AND isset($_POST['vijesti']) AND isset($_POST['novosti']))
{
$naslov = addslashes($_POST['naslov']);
$vijesti = addslashes($_POST['vijesti']);
$novosti = addslashes($_POST['novosti']);
if ($_POST['id_news'] == 0)
{

mysql_query("INSERT INTO news VALUES('', '" . $naslov . "', '" . $vijesti . "', '" . $_POST['kateg'] . "', '" . $novosti . "', '" . time() . "')");

}
else
{
$_POST['id_news'] = addslashes($_POST['id_news']);
mysql_query("UPDATE news SET kateg='" . $_POST['kateg'] . "', naslov='" . $naslov . "', vijesti='" . $vijesti . "', novosti='" . $novosti . "' WHERE id='" . $_POST['id_news'] . "'");

}
}

//--------------------------------------------------------
// Provjera 2 : brisanje vijesti ?
//--------------------------------------------------------
if (isset($_GET['izbrisite_vijest']))
{
$_GET['izbrisite_vijest'] = addslashes($_GET['izbrisite_vijest']);
mysql_query('DELETE FROM news WHERE id=\'' . $_GET['izbrisite_vijest'] . '\'');
}
?>
<?php
$retour = mysql_query('SELECT * FROM news ORDER BY id DESC');
while ($prikazi = mysql_fetch_array($retour))
{
?>
<div id="narandjasti-meni"><ul>
<li><?php echo '<a href="dodajte_vijesti.php?prepravite_vijest=' . $prikazi['id'] . '">'; ?>PREPRAVI</a></li>
<li><?php echo '<a href="administracija_vijesti.php?izbrisite_vijest=' . $prikazi['id'] . '">'; ?>IZBRISI</a></li>

<li><a href="#"><?php echo stripslashes($prikazi['naslov']); ?></a></li>
<li><a href="#"><?php echo date('d/m/Y', $prikazi['timestamp']); ?></a></li>
</ul>
</div>
<?php
}
?>





DODAJTE_VIJESTI.PHP
Citat:
<?php
$link = mysql_connect('localhost', 'root', '')
or die('Greska: ' . mysql_error());
mysql_select_db('test') or die('Could not select database');
?>

<?php

if (isset($_GET['prepravite_vijest']))
{
$_GET['prepravite_vijest'] = mysql_real_escape_string(htmlspecialchars($_GET['prepravite_vijest']));
$retour = mysql_query('SELECT * FROM news WHERE id=\'' . $_GET['prepravite_vijest'] . '\'');
$prikazi = mysql_fetch_array($retour);

$naslov = stripslashes($prikazi['naslov']);
$vijesti = stripslashes($prikazi['vijesti']);
$novosti = stripslashes($prikazi['novosti']);
$id_news = $prikazi['id'];
}
else
{

$naslov = '';
$vijesti = '';
$novosti = '';
$id_news = 0;
}
?>



<form action="administracija_vijesti.php" method="post">

<p>Naslov : <input type="text" size="30" name="naslov" value="<?php echo $naslov; ?>" /></p>
<p>
Vijesti 1 :<br />
<textarea name="vijesti" cols="50" rows="10">
<?php echo $vijesti; ?>
</textarea><br />

<p>
Vijesti 2 :<br />
<textarea name="novosti" cols="50" rows="10">
<?php echo $novosti; ?>
</textarea><br />

<input type="hidden" name="id_news" value="<?php echo $id_news; ?>" />


<tr>
<td>Rubrika:</td>
<td align="left" class="unos"><label for="label"></label>
<select name="ime" id="label">
<?php

$sql = 'SELECT * FROM `kateg`;';
$result = mysql_query($sql) or die('Query failed: ' . mysql_error());
while ($row = mysql_fetch_assoc($result)):
echo '<option value="'.$row['kadID'].'">'.$row['ime'].'</option>';
endwhile;

?>
</select>
</td>
</tr>

<input type="submit" value="Dodajte Vijest" />
</p>
</form>





KATEGORIJA.PHP

Citat:
<?php
$link = mysql_connect('localhost', 'root', '')
or die('Greska: ' . mysql_error());
mysql_select_db('test') or die('Could not select database');
?>




<?php
$greska = 0;
$kategorija = $HTTP_POST_VARS[ime];

if (empty($kategorija)) {
$greska++;
}
if ($greska == 0) {


$sql = 'INSERT INTO kateg (ime) VALUES( "'.$kategorija.'")';

if (mysql_query($sql))
{
echo '<div align="center">
Kategorija dodata!!!
</div>
';
} else
{
echo "Greska prilikom upisa u bazu:" . mysql_error();
}

}
else
{
echo '
<div align="center">
Upisite ime kategorije!<br>

</div>
';
}
?>


DODAJ_KATEGORIJU.PHP
Citat:
<?php
$link = mysql_connect('localhost', 'root', '')
or die('Greska: ' . mysql_error());
mysql_select_db('test') or die('Could not select database');
?>

<h2>Kategorija</h2>
<form action="kategorija.php" method="post" name="form1" id="form1">
<table border="0" cellspacing="1" cellpadding="0">
<tr>
<th scope="col">Dodaj novu kategoriju:</th>
<th scope="col"><input name="ime" type="text" id="ime3" size="50" /></th>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="Submit3" value="Dodaj" /></td>
</tr>
</table>
<hr />
</form>

<?php
$potvrda = "'Sigurno zelis izbrisat?'";
$order = $HTTP_GET_VARS[order];
$query = 'SELECT * FROM kateg '.$order.';';
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
while ($row = mysql_fetch_assoc($result)):
echo'
<tr>
<td><a href="kategorija_obrisi.php?id='.$row['katID'].'" onclick="javascript:return confirm('.$potvrda.')"></td>
<td>'.$row['katID'].'</td>
<td><a href="kategorija_izmjena.php?id='.$row['katID'].'">'.$row['ime'].'</a> </td>
<td>';
$sql1 = 'SELECT COUNT( * ) AS `in` FROM `news` WHERE kateg="'.$row['kateg'].'";';
$query1 = mysql_query($sql1) or die('Query failed: ' . mysql_error());
$row1 = mysql_fetch_array($query1);
echo $row1['in'];
echo'</td>
</tr>
';
endwhile;
?>
</table>





KATEGORIJA_IZMJENA.PHP
Citat:
<?php
$link = mysql_connect('localhost', 'root', '')
or die('Greska: ' . mysql_error());
mysql_select_db('test') or die('Could not select database');
?>

<?php

$id = $HTTP_GET_VARS[id];
$akcija = $HTTP_GET_VARS[akcija];

if ($akcija == "snimi") {
$id = $HTTP_GET_VARS[id];
$ime = $HTTP_POST_VARS[ime];


$sql = '
UPDATE `kateg` SET
`ime` = "'.$ime.'"
WHERE `katID` = "'.$id.'" LIMIT 1;
';

if (mysql_query($sql))
{
echo '<div align="center">Kategorija uspjesno izmjenjena!!!</div>';
} else
{
echo "GRESKA:" . mysql_error();
}

}

if (empty($akcija)) {
$query = 'SELECT * FROM `kateg` WHERE `katID` = "'.$id.'" LIMIT 1;';
$result = mysql_query($query) or die('Query failed: ' . mysql_error());

while ($row = mysql_fetch_assoc($result)):
echo '
<h2>Kategorije</h2>
<form action="kategorija_izmjena.php?id='.$id.'&akcija=snimi" method="post" name="form1" id="form1">
<table border="0" cellspacing="1" cellpadding="0">
<tr>
<th scope="col">Dodaj novu kategoriju:</th>
<th scope="col"><input name="ime" type="text" id="ime3" size="50" value="'.$row['ime'].'"/></th>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="Submit3" value="Izmjeni" /></td>
</tr>
</table>
</form>
';
endwhile;
mysql_free_result($result);
}


?>


KATEGORIJA_OBRISI.PHP


Citat:
<?php
$link = mysql_connect('localhost', 'root', '')
or die('Greska: ' . mysql_error());
mysql_select_db('test') or die('Could not select database');
?>

<?php


$id = $HTTP_GET_VARS[id];

$query = 'DELETE FROM `kateg` WHERE `katID` = "'.$id.'" LIMIT 1;';
$result = mysql_query($query) or die('Query failed: ' . mysql_error());

echo '<div align="center">Kategorija obrisana!!!</div>';

?>



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Strog  Male
  • Stručni saradnik
    Web programiranje
  • Bojan Kopanja
  • Web & Mobile developer @ ZeusSoftware
  • Pridružio: 26 Jul 2003
  • Poruke: 2597
  • Gde živiš: Stara Pazova

Pomoglo bi kad bi rekao sta je tacno greska da ne moramo mi da trazimo bas od pocetka Wink. Kako se manifestuje greska? Dobijas neki PHP/MySQL error ili netacne rezultate?



offline
  • igor86  Male
  • Stručni saradnik
    Web programiranje
  • Pridružio: 24 Maj 2006
  • Poruke: 1633

Kada uradis ovo sto rece Strog stavi sve fileove u jedan folder pa zipuj.

offline
  • Alen25 
  • Novi MyCity građanin
  • Pridružio: 23 Nov 2008
  • Poruke: 7

Pozdrav

Prvo velko hvala na brzom javjanju i zelji za pomoc.
Evo ovako ja sam pocetnik u ovom i ovo je jedna od mojih prvi skripti u php, kao sto se moze i primjetiti jednostavna je. Problem je sljedeci i desava se ustranicama DODAJTE_VIJESTI.PHP, ADMINISTRACIJA_VIJESTI.PHP. Znaci kada u stranicu DODAJTE_VIJESTI.PHP upisem news ta news se registruje u bazu news i ispuni sva polja osim polja kateg iako uredno izaberem kategoriju, ne dobijem nikakvu gresku, vijest je registrovana ali nije smjestena u kategoriju.

Takodjer ne kontam poslje kako da svaku kategoriju i vijesti koje se nalaze u njoj poslje izlistam na zasebnu stanicu. Ovdje je administatorski dio moje news skripte.

mycity.rs/must-login.png

Stranice KATEGORIJA.PHP, DODAJ_KATEGORIJU.PHP, KATEGORIJA_IZMJENA.PHP, KATEGORIJA_OBRISI.PHP samo ne znam mozel se to napista jednostavnije da sve stane u jednu maksimalno dvije stranice.

Unaprijed svima hvala na pomoci

offline
  • igor86  Male
  • Stručni saradnik
    Web programiranje
  • Pridružio: 24 Maj 2006
  • Poruke: 1633

Evo uradio sam ti citavu logiku ovog problema objektno orijentisano, inace moze da posluzi drugim ljudima kao mini tutorijal Wink


https://www.mycity.rs/must-login.png

offline
  • Alen25 
  • Novi MyCity građanin
  • Pridružio: 23 Nov 2008
  • Poruke: 7

Izvanredno, hvala velka radi odicno.

Sad mi jos samo treba objasnjenje kako da iscitavam kategorije, naprimjer vijesti koje su u kategoriji prva liga na jednu stranicu, vijesti druga liga na drugu, vijesti treca liga na trecu i td..

Ovo je moj kod pomocu kojeg sam iscitavo vijesti kad nisam imo kategorija..

<? //============================================================================== // # OTVARANJE GLAVNE PREGRADE # //============================================================================== ?> <div id="glavna_pregrada"> <? //============================================================================== // # POCETAK REDNOG BROJA STRANICA # //============================================================================== ?> <? $retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 5'); while ($prikazi = mysql_fetch_array($retour)) { ?> <? //============================================================================== // # KRAJ REDNOG BROJA STRANICA # //============================================================================== ?> <? //============================================================================== // # POCETAK SEKCIJE VIJESTI # //============================================================================== ?> <div class="novosti"> <h1><center><?php echo $prikazi['naslov']; ?></center></h1> <p>     <?php     $vijesti = nl2br(stripslashes($prikazi['vijesti']));     echo $vijesti;     ?><br><br>     </p> <p class="potpis-vijesti align-right"> <? //============================================================================== // # RSS # //============================================================================== ?> <span class="rss"><a href="rss.php">RSS</a></span> <? //============================================================================== // # PROCITAJTE VISE # //============================================================================== ?> <span class="stranica"><a href="?s=prikazi&clanak=<?php echo $prikazi['id']; ?>">Vise</a></span> <? //============================================================================== // # STAMPAJ # //============================================================================== ?> <span class="stampac"><a href="stampaj.php?clanak=<?php echo $prikazi['id']; ?>"  target="_blank">Stampaj</a></span> <? //============================================================================== // # KOMENTARI # //============================================================================== ?> <span class="komentari"><a href="?s=komentari&idvijesti=<?php echo $prikazi['id']; ?>&naslovna=<?php echo htmlspecialchars($prikazi['naslov']); ?>">Komentari  (<?php $infos_com = mysql_query('SELECT COUNT(*) AS nb_com FROM komentari WHERE idvijesti=' . $prikazi['id']); $prikazi_com = mysql_fetch_array($infos_com); $ukupnoKomentara = $prikazi_com['nb_com']; echo $ukupnoKomentara; ?>) </a></span> <? //============================================================================== // # DATUM # //============================================================================== ?> <span class="datum"><?php echo date('d/m/Y - H\hi', $prikazi['timestamp']); ?></span></p> </div> <? //============================================================================== // # ZATVARAM PHP STRANICU # //============================================================================== ?> <? } ?>

Hvala jos jednom

Dopuna: 26 Nov 2008 13:35

Molio bi ako moze neko da mi pomogne kako da izlistam news po kategorijama, ja sam pokusavo na razne nacine ali nisam nasoa soluciju.

Hvala svima unaprijed Razz

offline
  • djen92 
  • Novi MyCity građanin
  • Pridružio: 29 Sep 2009
  • Poruke: 3

Da li bi ozda mogli da stavite celu skriptu za download?
Bio bh vam jako zahvalan Very Happy

Ko je trenutno na forumu
 

Ukupno su 786 korisnika na forumu :: 30 registrovanih, 5 sakrivenih i 751 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., amaterSRB, babaroga, Boris90, caesar, dac, darkangel, Djole, djole01, Dorcolac, Georgius, ILGromovnik, ivica976, Milos ZA, milos.cbr, Mixelotti, Nekicoveculjak, Neo BetOnBit, pein, Polemarchoi, Recce, repac, S-lash, Trpe Grozni, vasa.93, vlad the impaler, Voivoda, zajcev1, Zerajic, zljubomir