Avatar billede haolan Nybegynder
13. juli 2005 - 17:08 Der er 7 kommentarer og
1 løsning

Kalde 'navn' ud fra en anden tabel værdi

Jeg har lavet et kategorisystem hvor hver kategori har et referenceID, kategorinavn og et ID nummer.

fx hvis jeg har kategorien computerspil med ID nummmeret 2, så er Actionsspils referenceID 2 da det er en underkategori til computerspil..

Det jeg skal er at kalde kategorinavnet udfra referenceID..
Foreløbig har jeg følgende kode:

<?php
include("php/config.php");

$result = mysql_query("SELECT * FROM kategori order by ref") or die(mysql_error());

while($r = mysql_fetch_array($result)) {

echo "<option value=".$r["ref"]." name=ref>";
echo $r["ref"];
echo " - ";
echo $r["kat"];
echo "</option>";
}
?>

Dette viser referenceID og kategorinavnet... Men der hvor der står reference ID skal der stå references kategorinavn.

FX:

EDB & Internet - Computerspil - Actionspil

Hvor EDB & Internet er referencenavnet til Computerspil og Computerspil er referencen til Actionspil..

Hvordan kan man mon få det fusket sammen?
Avatar billede mysli Nybegynder
13. juli 2005 - 18:24 #1
Jeg går ud fra at dine Øverste kategorier har 0 som referenceID, ikke?

Prøv dette

$result = mysql_query("SELECT * FROM kategori order by ref") or die(mysql_error());

while($r = mysql_fetch_array($result)) {

echo "<option value=".$r["ref"]." name=ref>";
while ($r["ref"] != 0){
    $sql = mysql_query("SELECT * FROM kategori WHERE referenceID = '$r[ref]' order by ref") or die(mysql_error());
    $s = mysql_fetch_array($sql)
    echo $s["kat"];
    $r["ref"] = $s["ref"];
   
}
echo " - ";
echo $r["kat"];
echo "</option>";
}
Avatar billede steen-h Mester
13. juli 2005 - 20:06 #2
Du skal bruge en Join, så kan du løjes med et kald.

Prøv at se på følgende som jeg fik hjælp til.
http://eksperten.dk/spm/623478
Avatar billede ncp Nybegynder
13. juli 2005 - 21:56 #3
Hvis du skal bruge mere en 2 levels kan du lave en funktion som kalder sig selv for hvert child, altså menupunkt med undermenuer den finder...
Avatar billede haolan Nybegynder
13. juli 2005 - 22:29 #4
altså ref står jo for referenceID

Så de eneste tre punkter i tabellen er

ref, kat, id

Og jo de øverste har ref til at være 0 :)
Avatar billede haolan Nybegynder
13. juli 2005 - 22:41 #5
Jeg har stillet det op som du skrev:

<?php
include("php/config.php");
$result = mysql_query("SELECT * FROM kategori order by ref") or die(mysql_error());

while($r = mysql_fetch_array($result)) {

echo "<option value=".$r["ref"]." name=ref>";
while ($r["ref"] != 0){
    $sql = mysql_query("SELECT * FROM kategori WHERE ref = '$r[ref]' order by ref") or die(mysql_error());
    $s = mysql_fetch_array($sql)
    echo $s["kat"];
    $r["ref"] = $s["ref"];
   
}
echo " - ";
echo $r["kat"];
echo "</option>";
}

?>

Men den skriver "Parse error: parse error in c:\apache\htdocs\5\option.php on line 38"

Linie 38 er så "echo $s["kat"];"

Jeg forstår ikke lige hvad fejlen er her..
Avatar billede mysli Nybegynder
14. juli 2005 - 18:35 #6
Det må du undskylde. Der mangler en ; i linie ovenover.

Så den skal så således ud: $s = mysql_fetch_array($sql);
Avatar billede haolan Nybegynder
21. september 2005 - 15:34 #7
Der er noget der er forkert der.. Den skriver slet ikke kategorierne i en <option> og den skriver computerspil konstant uden at blive færdig, som en uendelig løkke.
Avatar billede haolan Nybegynder
02. oktober 2005 - 14:19 #8
hmm den dropper vi vidst bare igen..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester