Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Selected funktioniert nur bei änderung des Select name

Frage Entwicklung PHP

Mitglied: blackbonsai

blackbonsai (Level 1) - Jetzt verbinden

05.06.2013, aktualisiert 16:12 Uhr, 1256 Aufrufe, 4 Kommentare

Hallo hiermit rufe ich eine Dropbox auf mit den Inhalten einer Tabelle aus mySQL.
Nun das funktioniert gut, nur leider immer nur Einmal. Beim ändern der WHERE des query zu $row ändert sich der selected zwar jedoch wird immer noch der alte angezeigt.

01.
<select name="Kanton">  
02.
                <?php  
03.
                  $rowkant = mysql_fetch_assoc($querykant); 
04.
  
05.
                  // für jeden Eintrag ein Option-Tag erstellen                  
06.
                  do {  
07.
                      echo '<option value="'.$rowkant['kan_id'].'"'.( $row['ban_kanid'] == $rowkant['kan_id'] ? " selected": "").'>'.$rowkant['kan_name'].'</option>';  
08.
                  } while ($rowkant = mysql_fetch_array($querykant)) 
09.
                ?>  
10.
                 
11.
  			</select>
das giebt sowas aus
01.
                <option value="1" selected>ZH</option><option value="2">BE</option><option value="3">LU</option><option value="4">UR</option><option value="5">SZ</option><option value="6">OW</option><option value="7">NW</option><option value="8">GL</option><option value="9">ZG</option><option value="10">FR</option><option value="11">SO</option><option value="12">BS</option><option value="13">BL</option><option value="14">SH</option><option value="15">AR</option><option value="16">AI</option><option value="17" >SG</option><option value="18">GR</option><option value="19">AG</option><option value="20">TG</option><option value="21">IT</option><option value="22">VD</option><option value="23">VS</option><option value="24">NE</option><option value="25">GE</option><option value="26">JU</option> 
Bei dem Wechsel wird selected korrekt auf value 17 verschoben. Jedoch bleibt die auf der Seite ausgewählte option die 1
01.
                <option value="1" >ZH</option><option value="2">BE</option><option value="3">LU</option><option value="4">UR</option><option value="5">SZ</option><option value="6">OW</option><option value="7">NW</option><option value="8">GL</option><option value="9">ZG</option><option value="10">FR</option><option value="11">SO</option><option value="12">BS</option><option value="13">BL</option><option value="14">SH</option><option value="15">AR</option><option value="16">AI</option><option value="17" selected>SG</option><option value="18">GR</option><option value="19">AG</option><option value="20">TG</option><option value="21">IT</option><option value="22">VD</option><option value="23">VS</option><option value="24">NE</option><option value="25">GE</option><option value="26">JU</option> 
Wen ich jetzt den select name ändere und dan die Seite neu lade wird das select korrekt auf 17 angezeigt.

Der Name kann dan auch nichmehr verwendet werden. Er bleibt auf dem select hängen den er beim ersten mal hatte.

Wo mach ich den Fehler?
Mitglied: EvilMoe
05.06.2013 um 17:24 Uhr
Hallo,
ich kann noch nie genau nachvollziehen wo genau Dein Problem liegt.

Du hast also eine select Box, wählst dort einen Eintrag aus, und dann passiert was?


01.
// Warum hast du im Code beides? Ein würde doch völlig reichen. 
02.
$rowkant = mysql_fetch_assoc($querykant);  
03.
$rowkant = mysql_fetch_array($querykant
04.
 
05.
 
06.
 
07.
// würde doch reichen wenn Du es so machst 
08.
 while ($rowkant = mysql_fetch_assoc($querykant)) { 
09.
                      echo '<option value="'.$rowkant['kan_id'].'"'.( $row['ban_kanid'] == $rowkant['kan_id'] ? " selected": "").'>'.$rowkant['kan_name'].'</option>';   
10.
11.
12.
 
Bitte warten ..
Mitglied: blackbonsai
05.06.2013 um 20:51 Uhr
Das ist sicher schonmal hübscher danke.

Aber das ist nicht das Problem. Das ist ein Formular welches aufgerufen wird mit einr vorgabe die im SQL von $row drin ist. Wenn sich diese vorgabe verändert muss sich demensprechend das selected von select"Kanton" ändern.

Jetzt ist das Problem das sich das selected ändert aber nur beim ersten Aufrufen. Wen ich beim zeiten mal die vorgabe ändere den Namen von Kanton aber nicht passiert nichts mehr.

Freundliche Grüss
Bonsai
Bitte warten ..
Mitglied: Arano
05.06.2013, aktualisiert um 21:05 Uhr
Hi,

ich verstehe schon was dein Problem ist/sein soll,,, denke ich
und nur um auf Nummer sicher zu gehen:
Bei dem Wechsel wird selected korrekt auf value 17 verschoben.
"Wechsel" bedeutet:
  1. andere Option auswählen,
  2. Formular absenden (IDs in Datenbank werden aktualisiert)
  3. neues HTML wird generiert (damit auch neues Dropdown) und
  4. an den Browser ausgegeben (Seite neu geladen)

Du speicherst ERST die Änderung, liest DANACH die Daten aus der DB und gibst sie aus !?

Was, wenn du eine andere Option auswählst, speicherst (danach wird die alte Option noch als "selected" markiert angezeigt) und du nun mehrfach F5 oder Strg+F5 drückst !?

Was, wenn die eine andere Option auswählst, speicherst (danach wird die alte Option noch als "selected" markiert angezeigt) und du nun wieder eine andere Option auswählst und speicherst ? Wird dann immer noch die erste als "selected" angezeigt oder jetzt vielleicht die zweite oder tatsächlich schon die dritte ?

Da mir dieser Code als funktionsfähig erscheint.
DEBUGe ein bisschen:
Gebe zusätzlich zu dem Option-Namen auch die KAN_ID und die BAN_ID aus um zu vergleichen, z.B.
01.
while( $rowkant=mysql_fetch_assoc($querykant) ) 
02.
03.
    echo '<option value="'.$rowkant['kan_id'].'"' 
04.
         .( $row['ban_kanid']==$rowkant['kan_id'] ? "selected" : ""
05.
         .'>' 
06.
         .$row['ban_kanid'].'='.$rowkant['kan_id'].'?'.( $row['ban_kanid']==$rowkant['kan_id'] ? "ja" : "nein").' - ' 
07.
         .$rowkant['kan_name'].'</option>'
08.
    // <option value="1">1=17?nein - ZH</option> 
09.
    // <option value="2">2=17?nein - BE</option> 
10.
    // ... 
11.
    // <option value="17" selected>17=17?ja - SG</option> 
12.
}
Der Name kann dan auch nichmehr verwendet werden. Er bleibt auf dem select hängen den er beim ersten mal hatte.
Mit dem Name des selects darf das eigentlich nichts zu tun haben... hast du vielleicht irgendwelche Browser-Plugins/-Addons die sich deine Eingaben merken ?


Mehr Ideen habe ich auch nicht !


~Arano
Bitte warten ..
Mitglied: blackbonsai
05.06.2013 um 21:12 Uhr
Ok, hab mir jetzt mal noch den Chrome gezogen, und da läufts einwandfrei
Firefox macht leider weiterhin probleme aber dan ist es vielleicht wirklich ein Plugin das sich das Merkt.

Ich danke euch für die schnelle hilfe!
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Linux
LTSP: PXE Boot funktioniert nicht (16)

Frage von Fenris14 zum Thema Linux ...

Windows Server
gelöst Laufwerkspfad wird nach GPO-Änderung nicht aktualisiert (4)

Frage von YotYot zum Thema Windows Server ...

Batch & Shell
gelöst Selected Gridview Value in Variable schreiben (4)

Frage von reissaus73 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...