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

<?php

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

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

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

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

echo "<table>";
while ($ujTomb = mysql_fetch_array($eredmeny)) {

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

  echo "<tr><td>Cím: $cim</td><td>Ár: $ar</td><td><a href="show.php?id=$id">show</a></td></tr>";
}
echo "</table><br />";
?>
a feldolgozás pedig:
<?php
$ossz = mysql_connect("........", ".......", ".......");
mysql_select_db("........",$ossz);

$id = mysql_real_escape_string(_GET["id"]);

$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><tr><td>Cím: $cim</td><td>Ár: $ar</td></tr></table>";
}
?>
é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:

$id=mysql_real_escape_string($_GET['id']);