Hej gutter
Jeg har et problem, det ligger i at jeg har en funktion der lister en hel masse emner, standard funktion som køre en while lykke og ville se sådan her ud (eks):
Emne #1 - dato - mere info
Emne #2 - dato - mere info
Emne #3 - dato - mere info
osv.
Siden dette er på er faktis bare standard html layout og så
<?
list_emner();
?>
Mit problem er at få mere info til at komme ved det emne jeg vil og fortsætte listen af emner. Altså:
Emne #1 - dato - Mere info {
Info for emne #1
}
Emne #2 - dato - Mere info
Emne #3 - dato - Mere info
Lige nu skriver den det sådan her:
Emne #1 - dato - mere info
Emne #2 - dato - mere info
Emne #3 - dato - mere info
Når jeg klikker på mere info (for emne 1):
Emne #1 - dato - Mere info {
Info for emne #1
}
Emne #2 - dato - Mere info {
Info for emne #1
}
Emne #3 - dato - Mere info {
Info for emne #1
}
Selve min function (sikkert rodet!)
function list_online_events(){
$infoid = $_GET['id'];
$q = mysql_query("SELECT * FROM events WHERE `etype`='online'");
while($row = mysql_fetch_array($q)){
if(!isset($bgcolor)){
$bgcolorid = 0;
} else {
$bgcolorid = $bgcolorid;
}
if($bgcolorid == "1"){
$bgcolor = "#656565";
$bgcolorid--;
} else {
$bgcolor = "#707070";
$bgcolorid++;
}
print "<table bgcolor='".$bgcolor."' width='500' style='font-size:11px;font-weight:bold;color:white;'>
<tr>
<td width='200' align='left'>#".$row['id']."</td>
<td width='100' align='left'>".$row['title']."</td>
<td width='100' align='left'>".$row['place']."</td>
<td width='100' alignt='right'><a href='index.php?p=event&show=1&id=".$row['id']."'>More Info</a></td>
</tr>
</table>";
if($_GET['show'] == 1 || $_GET['id'] == $infoid){
$id = $_GET['id'];
list_online_events_spec($id);
}
$infoid = "123123";
}
}
Please ved det er tard kode og den slet ikke indeholder return eller noget, men er ikke hård til functions :p
Lidt forklaring til koden:
$infoid = $_GET['id'];
$q = mysql_query("SELECT * FROM events WHERE `etype`='online'");
while($row = mysql_fetch_array($q)){
if(!isset($bgcolor)){
$bgcolorid = 0;
} else {
$bgcolorid = $bgcolorid;
}
if($bgcolorid == "1"){
$bgcolor = "#656565";
$bgcolorid--;
} else {
$bgcolor = "#707070";
$bgcolorid++;
}
Jeg kalder mysql serveren, henter data.
$infoid er noget jeg har prøvet og rode med til at vise den specielle info hvis man trykker "Mere Info", den vil vise mere info hvis show=1 og den hviser info fra den række for id er lig $infoid. Ellers er der bare lige lidt kode if/else til at skifte bgcolor til tabellerne.
print "<table bgcolor='".$bgcolor."' width='500' style='font-size:11px;font-weight:bold;color:white;'>
<tr>
<td width='200' align='left'>#".$row['id']."</td>
<td width='100' align='left'>".$row['title']."</td>
<td width='100' align='left'>".$row['place']."</td>
<td width='100' alignt='right'><a href='index.php?p=event&show=1&id=".$row['id']."'>More Info</a></td>
</tr>
</table>";
if($_GET['show'] == 1 || $_GET['id'] == $infoid){
$id = $_GET['id'];
list_online_events_spec($id);
}
$infoid = "123123";
}
Den køre while lykken, skriver en tabel ud (kunne ikke lige gennemskue div med det :p og gad ikke lige og bruge tid)
Så tjekker den fra $infoid som jeg satte i starten af funktionen, og hvis den er 1 så køre den list_online_events_spec(), som self bare er info til det pågældende emne. Til sidst sætter jeg $infoid til noget random for at få den til og stoppe med at hvis det ved alle sammen, men det virker ikke.. (ellers ville jeg jo ikke spørge).
Jeg kan ikke lige gennemskue hvordan jeg skal gøre det, ville være taknemmelig for noget hjælp
Regards
Dennis
Note: Hvis i vil have mere forklaring skriv