Tworzenie dynamicznych linków z PHP/MySQL


Buduję swoją pierwszą witrynę PHP/MySQL i mam problem ze sposobem generowania dynamicznych linków i tworzenia nowej strony dla tych linków.
Moja strona indeksu pobiera pewne szczegóły z mojej bazy danych jako podgląd, a gdy odwiedzający kliknie ten element, chcę, aby został przeniesiony na stronę, która pokazuje pełne szczegóły z bazy danych dla tego wiersza.
Kod na mojej stronie indeksu do wyświetlania podglądu znajduje się poniżej, każda pomoc w jego modyfikacji w celu utworzenia łącza i strony byłaby bardzo mile widziana.
<?php
$query="SELECT * FROM $tbl_name ORDER BY job_id DESC";
$result=mysql_query($query);$num=mysql_numrows($result);mysql_close();$i=0;
while ($i < $num) {$f1=mysql_result($result,$i,"company_name");
$f2=mysql_result($result,$i,"job_title");
$f3=mysql_result($result,$i,"city");
$f4=mysql_result($result,$i,"country");
$job_id=mysql_result($result,$i,"job_id");
?><div class = "hjl">
[list]
<li id = "jobtitle"><?php echo $f2; ?>[/*]
<li id = "compname"><?php echo $f1; ?>[/*]
[/list][list]
<li id = "city"><?php echo $f3; ?>, <?php echo $f4; ?>[/*]
[/list]<?php
$i++;
}
?>

Jestem pewien, że to, o co pytam, jest naprawdę proste, po prostu nie wiem, jak to zrobić.
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

umieść mysql_close

po

używając mysql_result, ale kiedy już zaczniesz działać, możesz przejść do bardziej nowoczesnego podejścia, takiego jak PDO.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Dziękuję obojgu za odpowiedzi, ale udało mi się to naprawić (lub obejść) z tym na mojej stronie indeksu:
<?php$query="SELECT * FROM $tbl_name ORDER BY job_id DESC";
$result=mysql_query($query) or die(mysql_error());
$rsjobinfo=mysql_fetch_assoc($result);mysql_close();do {?>
<div class = "hjl">[url="paging.php?job_id=<?php echo $rsjobinfo['job_id'];?>">
[list]
<li id = "jobtitle"><?php echo $rsjobinfo['job_title'];?>[/*]
<li id = "compname"><?php echo $rsjobinfo['company_name'];?>[/*]
[/list]
[list]
<li id = "city"><?php echo $rsjobinfo['city'];?>,
<?php echo $rsjobinfo['country'];?>[/*]
[/list]
[/url]<?php } while ($rsjobinfo=mysql_fetch_assoc($result))?>

Następnie na mojej stronie z treścią:
<?php
$job_id = $_GET['job_id'];$query="SELECT * FROM $tbl_name WHERE job_id = $job_id";
$result=mysql_query($query) or die(mysql_error());
$rsjobinfo=mysql_fetch_assoc($result);mysql_close();?>

Dziękuję wszystkim za pomoc.
Dan
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

dodaj link do swojego kodu (który chyba już gdzieś masz):
//...................
<li id = "jobtitle">
[url="<?php echo '?id='.$job_id; ?>">
<?php echo $f2; ?>
[/url]
[/*]
//...................
[url="<?php echo '?id='.$job_id; ?>">Read more...[/url]
//...................

wtedy twój kod powinien sprawdzać zmienną $ _GET ['id'], więc umieść IF na początku kodu:
$where = '';if( isset($_GET['id']) && strlen($_GET['id']) > 0 ) {
$where = ' job_id = "'. mysql_real_escape_string( $_GET['id'] ) .'"' ;
}<?php
$query="SELECT * FROM $tbl_name $where ORDER BY job_id DESC";
$result=mysql_query($query);$num=mysql_numrows($result);mysql_close();$i=0;
while ($i < $num) {$f1=mysql_result($result,$i,"company_name");
$f2=mysql_result($result,$i,"job_title");
$f3=mysql_result($result,$i,"city");
$f4=mysql_result($result,$i,"country");
$job_id=mysql_result($result,$i,"job_id");
?><div class = "hjl">
[list]
<li id = "jobtitle">
[url="<?php echo '?id='.$job_id; ?>">
<?php echo $f2; ?>
[/url]
[/*]
<li id = "compname"><?php echo $f1; ?>[/*]
[/list][list]
<li id = "city"><?php echo $f3; ?>, <?php echo $f4; ?>[/*]
[/list][url="<?php echo '?id='.$job_id; ?>">Read more...[/url]<?php
$i++;
}
?>


edytować:

spróbuj zmienić następujący wiersz:
$where = " job_id = '". mysql_real_escape_string( $_GET['id'] ) ."'" ;

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się