Kliknite tukaj, da si ogledate profil, kot ga vidijo drugi
 
Domov > Forum > Računalništvo

Ustavljanje podatkov iz MySQL baze na stran

 
 
29.4.2011, 16:51
Pozdravljeni,
želim vstaviti podatke iz MySQL baze na mojo spletno stran. V cPanel sem ustvaril novo bazo, uporabnika in uporabniku dal vse pravice do upravljanja. V phpMyAdminu sem pri bazi ustvaril novo tabelo s štirimi polji (id, naslov, opis, avtor). Polje id sem označil kot primarno in dodal funkcijo AI (avtomatsko povečevanje). Dodal sem nekaj testnih vrstic in videl, da zadeva deluje.

Na svojo stran sem vstavil naslednjo kodo:
<?php
// Make a MySQL Connection
mysql_connect("localhost", "uporabnik", "geslo") or die(mysql_error());
mysql_select_db("baza") or die(mysql_error());

// Retrieve all the data from the "example" table
$query = mysql_query("SELECT * FROM tabela")
or die(mysql_error());

// store the record of the "example" table into $row
$row = mysql_fetch_array( $query );
// Print out the contents of the entry

echo "ID: ".$row['id'];
echo "Naslov: ".$row['naslov'];
echo " Email: ".$row['email'];
?>


Izpiše pa mi vedno samo eno vrstico in vedno tisto, z najnižjim id-jem.

Torej zanima me, kako zadevo popraviti, da bom lahko dostopal do posameznih vrstic prek id-ja (primer: stran.php?id=2).

Lep pozdrav
 
 
 
29.4.2011, 17:09
Poskusi tako:

while($row = mysql_fetch_array( $query )){
if($id==$row['id']){
echo "ID: ".$row['id'];
echo "Naslov: ".$row['naslov'];
echo " Email: ".$row['email'];
}
}


spremenil: luksorzi (29.4.2011 ob 17.12.01)
 
 
 
29.4.2011, 17:24
luksorzi, po vpisu tega mi pokaže prazno stran. Tako na stran.php, kot tudi na id strani.
 
 
 
29.4.2011, 18:10
V SQL poizvedebo moraš dodati id:

$query = mysql_query("SELECT * FROM tabela WHERE id='2' ")


oziroma preko geta

$id = mysql_real_escape($_GET['id']);
$query = mysql_query("SELECT * FROM tabela WHERE id='" . $id . "' ")



spremenil: kljuka (29.4.2011 ob 18.11.00)
 
 
 
29.4.2011, 18:39
Prva poizvedba mi je uspela.

Pri drugi pa mi vedno vrže ven:
Parse error: syntax error, unexpected T_VARIABLE in ...


In sicer gre za tole vrstico:
$row = mysql_fetch_array( $query );
 
 
 
29.4.2011, 19:29
realife:
luksorzi, po vpisu tega mi pokaže prazno stran. Tako na stran.php, kot tudi na id strani.


Pa si dobil podatke iz baze in urlja?

Mislim, da bo tako vredu:

$id=$_GET['id'];

mysql_connect("localhost", "uporabnik", "geslo") or die(mysql_error());
mysql_select_db("baza") or die(mysql_error());
$query = mysql_query("SELECT * FROM tabela");

$row = mysql_fetch_array( $query );

while($row){
if($id==$row['id']){
echo "ID: ".$row['id'];
echo "Naslov: ".$row['naslov'];
echo " Email: ".$row['email'];
}
}


spremenil: luksorzi (29.4.2011 ob 19.30.57)
 
 
 
29.4.2011, 21:21
Mi je uspelo in zadeva deluje. Upam, da to ni zgolj slučaj.

$id = $_GET['id'];
$result = mysql_query("SELECT * FROM tabela
WHERE id='$id'") or die(mysql_error());
 
 
 
30.4.2011, 0:05
luksorzi, tale tvoj način ni preveč pameten. Vzame veliko več časa in "energije" phpju. Zato obstajajo SQL stavki, da se že tam postavi pogoj za id
 
 
 
30.4.2011, 6:58
Ja, tale je bolj primeren za izpis več vrstic.

Že dologo nisem delal s php-jem, pa človek malo pozabi na vse možnosti. Največ sem pa uporabljal, to kar sem napisal zgoraj.
 
 
Prijava in registracija
 
 
 
Zmaga.com ponuja brezplačno in razumljivo učenje računalniških programov, vas na enkraten način spozna z različnimi svetovnimi jeziki, s podrobno obrazloženimi recepti prikaže čare kulinarike in vam prežene strahove pred domačimi opravili.
 
 
Poleg tega lahko prebirate poučne članke, ki so namenjene širjenju naše splošne razgledanosti ter preverite svoje znanje z priljubljenim in enostavnim sistemom za preverjanje znanja. Če med vsebinami, ki se dodajajo vsak dan, ne najdete želenega znanja, je za vaša vprašanja na voljo dobro obiskan forum, kjer lahko tudi aktivno sodelujete. V primeru, da bi radi svoje praktično znanje delili z ostalimi, pa to lahko storite preko preprostega vmesnika za dodajanje vsebin. Zmagajte z znanjem z Zmaga.com!