ugrás a tartalomhoz

Tábla felsorolásból egy tábla sor listázása

mrjoel · 2007. Jún. 19. (K), 19.50
Üdv!
Egy olyan kérdésem lenne, hogy ha van egy sql táblám és minden elemét kilistázom és kiíratom egy oldalra, akkor a listánál azt miképp tudom megoldani hogy minden sornál lenne egy bövebb gomb amivel kiiratja nekem csak azt az egy sort az oldalra. Tehát a nagy listából amit először kiíratok (ez megy) egyenként meg tudom nézni a sorokat bövebben. Pl. van egy lista amiben név, cím, tel, és egy bövebb gomb szerpel és ha a bövebb gombra nyomok csak azt az egy sort jeleníti meg a névvel, címmel, tellel meg egy leírással(amit a nagy listánál direkt nem iratok ki). Előre is köszi a segítségeteket!
 
1

én egy get paraméterben átadnám a kulcsot

Táskai Zsolt · 2007. Jún. 20. (Sze), 00.50
gondolom, van a táblának egy elsődleges kulcsa. tegyél minden sor mellé egy linket és tedd bele ezt az kulcsot egy GET paraméterként (.../showperson.php?id=123). a feldolgozás oldalon (tehát a showperson.php-ben) csak a megfelelő GET paramétert kell belevenni az SQL lekérdezés WHERE feltételébe. utóbbi lépésnél SQL-injectionre figyelni kell ugye.
ha már van kódod, tudunk tovább segíteni.
jó munkát,
T
2

hogyan tovább?

mrjoel · 2007. Jún. 20. (Sze), 09.43
Szóval ügyködtem valami kód féleséget de sajna nem műkszik. A nagy tábla kiíratása amiben az összes sor szerepel így néz ki:
<?php

$ossz = mysql_connect("........", ".......", "........");

mysql_select_db("........",$ossz);

$sql = "SELECT * FROM .........";

$eredmeny = mysql_query($sql, $ossz) or die(mysql_error());

while ($ujTomb = mysql_fetch_array($eredmeny)) {

$cim = $ujTomb['cim'];
$ar = $ujTomb['ar'];
$id = $_GET['id'];

echo "<table border=1><tr><td>Cím: $cim</td><td>Ár: $ar</td><td><a href=show.php?id=$id>link</a></td></table><br>";
}
?>

A sort kiírató show.php így néz ki:
<?php
$ossz = mysql_connect("........", ".......", ".......");

mysql_select_db("........",$ossz);

$sql = "SELECT * FROM ......... where id=$id";

$eredmeny = mysql_query($sql, $ossz) or die(mysql_error());

while ($ujTomb = mysql_fetch_array($eredmeny)) {

$cim = $ujTomb['cim'];
$ar = $ujTomb['ar'];

echo "<table border=1><tr><td>Cím: $cim</td><td>Ár: $ar</td></table><br>";
}
?>

De sajna nem műkszik, hogy kellene használni a get-et?
Ha a $id helyére számot írok (azaz beírom melyik sort szeretném megnézni) akkor műxik a dolog, de nekem az kellene, hogy ne kelljen egyenként megírni minden sorra a kódot a számukkal, hanem magától olvassa be.
3

javítások

Táskai Zsolt · 2007. Jún. 20. (Sze), 11.42
  1. <?php  
  2.   
  3. $ossz = mysql_connect("........"".......""........");  
  4.   
  5. mysql_select_db("........",$ossz);  
  6.   
  7. $sql = "SELECT * FROM .........";  
  8.   
  9. $eredmeny = mysql_query($sql$osszor die(mysql_error());  
  10.   
  11. echo "<table>";  
  12. while ($ujTomb = mysql_fetch_array($eredmeny)) {  
  13.   
  14.   $cim = $ujTomb['cim'];  
  15.   $ar = $ujTomb['ar'];  
  16.   $id = $ujTomb['id'];  
  17.   
  18.   echo "<tr><td>Cím: $cim</td><td>Ár: $ar</td><td><a href="show.php?id=$id">show</a></td></tr>";  
  19. }  
  20. echo "</table><br />";  
  21. ?>  
a feldolgozás pedig:
  1. <?php  
  2. $ossz = mysql_connect("........""......."".......");  
  3. mysql_select_db("........",$ossz);  
  4.   
  5. $id = mysql_real_escape_string(_GET["id"]);  
  6.   
  7. $sql = "SELECT * FROM ......... WHERE id=$id";  
  8. $eredmeny = mysql_query($sql$osszor die(mysql_error());  
  9.   
  10. while ($ujTomb = mysql_fetch_array($eredmeny)) {  
  11.   
  12.   $cim = $ujTomb['cim'];  
  13.   $ar = $ujTomb['ar'];  
  14.   
  15.   echo "<table><tr><td>Cím: $cim</td><td>Ár: $ar</td></tr></table>";  
  16. }  
  17. ?>  
és innen már csak egy lépés, hogy szerkesztő űrlapot csinálj a show helyett.

további jó tanulást, a kód alakítgatásával semmiképp se állj meg itt!
T
4

Műkszik!

mrjoel · 2007. Jún. 20. (Sze), 11.51
Nagyon szépen köszönöm a segítséget! Tökéletesen működik! Nagyon köszi!
5

Üdvözlet! Kipróbáltam a

mrtom · 2009. Május. 10. (V), 14.27
Üdvözlet!

Kipróbáltam a scriptet, de én a negyedik sornál ($id = mysql_real_escape_string(_GET["id"]);) kapok egy ilyen hibát:
Parse error: syntax error, unexpected '['
Mi ezzel a probléma?
6

$?

Ustak · 2009. Május. 10. (V), 14.31
nem így van:
  1. $id=mysql_real_escape_string($_GET['id']);