Jag loopar ut massa orter och vill ha vald ort vald. :)
Men den vill inte välja vald ort, någon som ser något fel?
// *** Gör en select och hämta orter ***
$sql = "SELECT OrtId, Ort FROM Orter ORDER BY Ort ASC";
$Result = mysql_query( $sql )
or die( mysql_error() );
if ( mysql_num_rows( $Result ) > 0 ) {
print ("<br><b>Bostadsort:</b>\n\n<br><select name=\"ort\" size=\"1\">\n\n");
while ($data = mysql_fetch_array($Result)) {
$ortId = $data['OrtId'];
$newOrt = $data['Ort'];
if ($ort == $newOrt) {
print ("<option value=\"ortId\" selected>$newOrt</option>\n");
}
else {
print ("<option value=\"ortId\">$newOrt</option>\n");
}
} // Avslutar while loopen
print ("</select>\n\n");
} // Avslutar EOF-kollen
UrMeMedlem sedan apr. 2001762 inlägg Jag förstår inte vad "ort" är.. den är ju inte satt till nånting?
ThACRoWMedlem sedan dec. 2001314 inlägg Har du skrivit in FORM-taggen?
Om du har det så beror det nog på att register_globals är satt på false, i det fallet får du anropa $ort så här: $_GET['ort'] eller $_POST['ort'], beroende på vilken METHOD du valde i FORM-taggen.
Jag kanske var lite otydlig. :r
Alltså jag håller på med en inställningssida till en medlemsprofil.
Alla orter ligger i en speciell tabell (Orter), och valt ortId ligger i usertabellen. När man kommer till sina inställningar ska den tidigare valda orten vara vald. Men det verkar som om if-jämförelsen aldrig blir TRUE.
ViktorMedlem sedan aug. 20021 752 inlägg Du är säker på att $ort innehåller ett id?
En annan sak, ska inte
print ("<option value=\"ortId\" selected>$newOrt</option>\n");
vara
print ("<option value=\"$ortId\" selected>$newOrt</option>\n");
? Kan det vara så att $Ort är "ortId"? Kan alltid hoppas att det är det som är fel :)
/Viktor
Där var ett fel, :r men den väljer inte selected endå. (Valuet har ju inte med if-satsen att göra.) Jepps, $ort har ett värde, jag skriver ut det precis innan. :(
ViktorMedlem sedan aug. 20021 752 inlägg Kan det här vara något då?
Din kod
while ($data = mysql_fetch_array($Result)) {
$ortId = $data['OrtId'];
$newOrt = $data['Ort'];
if ($ort == $newOrt) {
min kod :)
while ($data = mysql_fetch_array($Result)) {
$ortId = $data['OrtId'];
$newOrt = $data['Ort'];
if ($ort == $ortId) {
byta $newOrt mot $ortId i if satsen.
/Viktor
Nu fungerar det. :)
if (trim($newOrt) == trim($ort)) {
Tack alla!
Ytterligare en fråga:
Om vi tar koden ovan som exempel. Hur gör man smartast för att loopa ut orterna två gånger i en selectlista. Det är ju dumt att göra en hämtning till från databasen.
Eftersom jag gjort det till en array borde jag kunna loopa igenom den hur många gånger jag vill sedan?
Ingen som vet om man kan, och isåfall hur man lägger en databashämtning i en fristående array, typ som med metoden getrows() i ASP/VB?