| |
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
|
| |
| |
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)
|
| |
| |
luksorzi, po vpisu tega mi pokaže prazno stran. Tako na stran.php, kot tudi na id strani.
|
| |
| |
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)
|
| |
| |
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 );
|
| |
| |
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)
|
| |
| |
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());
|
| |
| |
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
|
| |
| |
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.
|
| |
Prikazujem 1 od skupno 1 strani |
|