Dynamische array

Status
Niet open voor verdere reacties.

Tha Devil

Moderator
Forumleiding
Moderator
Lid geworden
1 sep 2002
Berichten
16.494
Besturingssysteem
macOS Sequoia
Ik zit met een probleem:

Ik heb een pagina waar ik uit twee tabellen gegevens moet halen.

Tabel 1 (news): title,category,message,url,name
Tabel 2 (newscategory): id,name

Nu moet ik dus in het formulier dat ik heb gemaakt de categorie die gekozen is geselecteerd krijgen.

In de tabel "news" wordt van de category het ID nummer opgeslagen. Dus ik moet bij de pagina een dropdown menu krijgen met daarin als ik bijvoorbeeld "Site Info" als category en het nummer daarvan is "1" <option value=1>Site Info</option> krijgen.

Nu had ik al iets geprobeerd:
PHP:
$query = "SELECT * FROM news WHERE id='$_GET[id]'";
$result = mysql_query($query) or die(mysql_errno() . ": " . mysql_error());  
$row = mysql_fetch_array($result);
extract($row);

echo"<form action='?page=editnews&id=$id' method='POST'>
Title: <input type='text' name='title' value='$title'><br>
Category:<select name='cat'>";
$query2 = "SELECT * FROM newscategory";
$result2 = mysql_query($query2) or die(mysql_errno() . ": " . mysql_error());  
while($row2 = mysql_fetch_array($result2))
{
extract($row2);
echo"<option value='$id'>$name</option>";
}
echo"</select>"; //en dan de rest, maar dat gaat wel goed...

Maar hier krijg ik dus alleen maar de lijst met alle categorieen te zien waarbij er dus geeneen auto-geselecteerd is.

en als ik deze code doe:
PHP:
echo"<select name='cat'>";

$query2 = "SELECT * FROM newscategory";
$result2 = mysql_query($query2) or die(mysql_errno() . ": " . mysql_error());
while($row2 = mysql_fetch_array($result2))
{
        extract($row2);
        echo'<option value="' . $id . '"';
        if($id == $cat)
        {
        echo ' selected';
        }
        echo '>' . $name . '</option>';
}
echo"</select></td>";
Krijg ik hetzelde.

Weet iemand hoe ik deze breinbreker kan oplossen?

[edit]
Was bij het tweede voorbeeld een "echo" vergeten maar niet dat dit hielp, het laat nu iig wel de boel zien, maar nog niet welke geselecteerd is.
 
Laatst bewerkt:
wel die eerste code klopt toch neen? Buiten dat er niets auto-geselecteerd is, maar dat staat niet in de code.

Bij het tweede denk ik dat je een html foutje hebt gemaakt... Kijk eens naar de source van die pagina als je ze opened.
 
Hmm nee was niets met de HTML verkeerd, ik had alleen de naam van het selectie vak niet hetzelfde als die ik had opgegeven in de query waardoor er dus gewoon niets naar de database werd gestuurd:rolleyes:

Dit is de goede code:
PHP:
ehco"<select name='cat'>";

$query2 = "SELECT * FROM newscategory";
$result2 = mysql_query($query2) or die(mysql_errno() . ": " . mysql_error());
while($row2 = mysql_fetch_array($result2))
{
        echo'<option value="' . $row2[id] . '"';
        if($row['cat'] == $row2['id'])
        {
        echo ' selected';
        }
        echo '>' . $row2[name] . '</option>';
}
echo"</select>";
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan