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: 2596
  • 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 747 korisnika na forumu :: 38 registrovanih, 13 sakrivenih i 696 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3028 - dana 22 Nov 2019 07:47

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 357magnum, _commandos_, AF-1, arsa2, Bahuss, branko72, brufen2, celeron, Duh sa sekirom, dule10savic, faxovi, goxsys, hyla, kaptain2, kovinacc, Lucije Kvint, Majstorr, Marko Marković, mercedesamg, Mercury, mihajlot2013, mushroom2, nenad81, ninareflex, novator, operniki, RADOVAN.S, Recce, repac, RJ, Srki94, suton2, Teks, Toni, vladom6, wolf431, yamato, zodiac94