Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
Raulj
Kreisi kasutaja

liitunud: 27.01.2002
|
05.09.2012 09:48:44
Dropdown mitme SQL valikuga PHP-s |
|
|
Tere, olen probleemi ees. Nimelt sooviksin teha dropdown listi, mis võtaks andmeid ühest sql tabeli 2-s lahtrist.
Hetkel on mul käigus selline kood, kuid see võtab ainult ühe välja:
php:
|
<? $query = mysql_query("SELECT * FROM seadme_tabel"); echo "<select name='seade'>"; while ($row= mysql_fetch_array($query)) { if ($row['seade']) { echo "<option>". $row['seade'] . "</option>"; } } echo "</select>";?>
|
Siin on seade see väli, mida võetakse - nüüd oleks vaja sellele väärtusele kõrvale veel väärtus (seeria_number) ja justnimelt sulgudes.
Kas keegi oleks nii tore ja aitaks mind seda rida parandada nii, et dropdown nimekirjas kuvatakse seade (seeria_number) väljad
viimati muutis Raulj 05.09.2012 16:33:33, muudetud 2 korda |
|
Kommentaarid: 14 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
14 |
|
tagasi üles |
|
 |
Ho Ho
HV Guru

liitunud: 16.02.2002
|
05.09.2012 09:50:41
|
|
|
echo "<option>". $row['seade'] ."</option>";
->
echo "<option>". $row['seade'] ." (".$row['seadme_number'].")</option>";
_________________ Teach a man to reason and he'll think for a lifetime
Common sense - so rare that it's a damn superpower
Vaadates paljude inimeste sõnavõtte siin ja mujal jääb üle ainult klassikuid tsiteerida - "I weep for humanity" |
|
Kommentaarid: 106 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
86 |
|
tagasi üles |
|
 |
Raulj
Kreisi kasutaja

liitunud: 27.01.2002
|
05.09.2012 10:12:38
|
|
|
Ho Ho kirjutas: |
echo "<option>". $row['seade'] ."</option>";
->
echo "<option>". $row['seade'] ." (".$row['seadme_number'].")</option>"; |
Nii lihtne see oligi Suured tänud!
Tekkis teine küsimus. Kui ma nüüd valin oma valiku dropist välja, sisestan ning lähen muutmis lehele, kuidas saan nii teha, et muutmise lehel valitakse automaatselt see sama valik dropdownist, mille ma juba valisin - st. dropdown kuvaks sql-s oleva väärtuse dropdown valikutest?
|
|
Kommentaarid: 14 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
14 |
|
tagasi üles |
|
 |
infidel
HV kasutaja

liitunud: 31.01.2004
|
05.09.2012 11:33:18
|
|
|
Et õiget valikuna näitaks, tuleb tekitada väike IF lause, mis valitud kirje puhul <option> vahele selected="true" paneks.
Kood laias laastus selline:
echo "<option";
if ($row['seade'] == $mis_iganes_muutujas_valitud_asja_tunnus_on) {
echo " selected=\"true\" ";
}
echo ">". $row['seade'] ." (".$row['seadme_number'].")</option>"; |
|
|
Kommentaarid: 36 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
35 |
|
tagasi üles |
|
 |
Raulj
Kreisi kasutaja

liitunud: 27.01.2002
|
05.09.2012 12:24:45
|
|
|
infidel kirjutas: |
Et õiget valikuna näitaks, tuleb tekitada väike IF lause, mis valitud kirje puhul <option> vahele selected="true" paneks.
Kood laias laastus selline:
echo "<option";
if ($row['seade'] == $mis_iganes_muutujas_valitud_asja_tunnus_on) {
echo " selected=\"true\" ";
}
echo ">". $row['seade'] ." (".$row['seadme_number'].")</option>"; |
|
Miski on valesti, kuid mis? Tulemus on see, et rippmenüü on tühi. Märgiks veel ka seda, et andmeid võetakse ja salvestatakse erinevatesse tabelitesse (võetakse seadme_tabel ja salvestatakse seade_rike)
php:
|
<? $query = mysql_query("SELECT * FROM seadme_tabel"); echo "<select name='seade_rike_seade_seeria_nr'>"; while ($row= mysql_fetch_array($query)) { if ($row['seade_rike_seade_seeria_nr']) { echo "<option>"; if ($row['seade_rike_seade_seeria_nr'] == $seade_rike_seade_seeria_nr) { echo " selected=\"true\" "; } echo ">". $row['seade'] . " (". $row['seade_seeria_nr']. ")</option>"; } } echo "</select>";?>
|
|
|
Kommentaarid: 14 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
14 |
|
tagasi üles |
|
 |
infidel
HV kasutaja

liitunud: 31.01.2004
|
05.09.2012 12:25:07
|
|
|
Tegin enda jaoks veidi selgemaks:
1 <?
2 $query = mysql_query("SELECT * FROM seadme_tabel");
3 echo "<select name='seade_rike_seade_seeria_nr'>";
4 while ($row=mysql_fetch_array($query)) {
5 if ($row['seade_rike_seade_seeria_nr']) {
6 echo "<option>";
7 if ($row['seade_rike_seade_seeria_nr'] == $seade_rike_seade_seeria_nr) {
8 echo " selected=\"true\" ";
9 }
10 echo ">". $row['seade'] ." (".$row['seade_seeria_nr'].")</option>";
11 }
12 }
13 echo "</select>";
14 ?>
|
Selge viga on selles, et reas nr 6 on option tag suletud. Tegelikult tuleks sealt lahti jätta - echo "<option"; - kuna sulgemine tuleb real 10. Lahti jätmine on selleks, et vajadusel saaks selected sinna vahele lükata.
|
|
Kommentaarid: 36 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
35 |
|
tagasi üles |
|
 |
Raulj
Kreisi kasutaja

liitunud: 27.01.2002
|
05.09.2012 12:38:58
|
|
|
infidel kirjutas: |
Tegin enda jaoks veidi selgemaks:
1 <?
2 $query = mysql_query("SELECT * FROM seadme_tabel");
3 echo "<select name='seade_rike_seade_seeria_nr'>";
4 while ($row=mysql_fetch_array($query)) {
5 if ($row['seade_rike_seade_seeria_nr']) {
6 echo "<option>";
7 if ($row['seade_rike_seade_seeria_nr'] == $seade_rike_seade_seeria_nr) {
8 echo " selected=\"true\" ";
9 }
10 echo ">". $row['seade'] ." (".$row['seade_seeria_nr'].")</option>";
11 }
12 }
13 echo "</select>";
14 ?>
|
Selge viga on selles, et reas nr 6 on option tag suletud. Tegelikult tuleks sealt lahti jätta - echo "<option"; - kuna sulgemine tuleb real 10. Lahti jätmine on selleks, et vajadusel saaks selected sinna vahele lükata. |
Hm, miskipärast tulemus endine - list tühi
|
|
Kommentaarid: 14 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
14 |
|
tagasi üles |
|
 |
infidel
HV kasutaja

liitunud: 31.01.2004
|
05.09.2012 12:44:06
|
|
|
Kas brauseris HTML koodi vaadates on andmed näha, mis seal olema peaks?
|
|
Kommentaarid: 36 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
35 |
|
tagasi üles |
|
 |
Raulj
Kreisi kasutaja

liitunud: 27.01.2002
|
05.09.2012 12:48:25
|
|
|
infidel kirjutas: |
Kas brauseris HTML koodi vaadates on andmed näha, mis seal olema peaks? |
Undefined index: seade_rike_seade_seeria_nr kuvab koodis.
|
|
Kommentaarid: 14 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
14 |
|
tagasi üles |
|
 |
infidel
HV kasutaja

liitunud: 31.01.2004
|
05.09.2012 13:17:08
|
|
|
Sellisel juhul tuleb kontrollida, kas vastavanimeline muutuja üldse uuele lehele jõuab. Kas kasutusel on muidu GET või POST?
|
|
Kommentaarid: 36 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
35 |
|
tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
05.09.2012 13:18:38
|
|
|
Raulj, on selline tulp üldse SQL'is olemas?
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
 |
Raulj
Kreisi kasutaja

liitunud: 27.01.2002
|
05.09.2012 13:41:25
|
|
|
infidel kirjutas: |
Sellisel juhul tuleb kontrollida, kas vastavanimeline muutuja üldse uuele lehele jõuab. Kas kasutusel on muidu GET või POST? |
Täpsusta, hetkel on get selleks, et id järgi vastav kirje saadaks ning post on vormil. Rippmenüül pole kumbagi, kas ja kus peaks see olema?
mikk36 kirjutas: |
Raulj, on selline tulp üldse SQL'is olemas? |
Täitsa olemas
Ma arvan, et viga on selles, et üks väärtus tuleb seade_tabel ja teine väärtus seade_rike. Päring on tehtud antud juhul ainult seade_tabel lahtrist aga kusagil pole päringut seade_rike. Kas ja kuidas seda teha ning kas see võib asja mõjutada?
|
|
Kommentaarid: 14 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
14 |
|
tagasi üles |
|
 |
andrusny
Kreisi kasutaja

liitunud: 20.03.2006
|
05.09.2012 15:54:02
|
|
|
Vaata tabelinimed üle, esimeses postis sul seadme_tabel, eelmises kirjutad seade_tabel
muidu peaks nii sobima.
"SELECT * FROM seadme_tabel JOIN seade_rike" |
Aga selline tabelimajandus võib sul katki minna, hetkel sa loodad lihtsalt, et mõlemas tabelis esimesel kohal on üks ja sama seade, mingit kontrolli pole, kui nüüd ühe tabeli ringi teed, on kohe vale andmed. Sul peaks olema mingi tabel seadmed ja sellel id ja teistel on veerg seadmeID kus on siis vastava seadme ID kirjas ning selle järgi otsid.
_________________
 |
|
Kommentaarid: 7 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
7 |
|
tagasi üles |
|
 |
Raulj
Kreisi kasutaja

liitunud: 27.01.2002
|
05.09.2012 16:31:43
|
|
|
andrusny kirjutas: |
Vaata tabelinimed üle, esimeses postis sul seadme_tabel, eelmises kirjutad seade_tabel
muidu peaks nii sobima.
"SELECT * FROM seadme_tabel JOIN seade_rike" |
Aga selline tabelimajandus võib sul katki minna, hetkel sa loodad lihtsalt, et mõlemas tabelis esimesel kohal on üks ja sama seade, mingit kontrolli pole, kui nüüd ühe tabeli ringi teed, on kohe vale andmed. Sul peaks olema mingi tabel seadmed ja sellel id ja teistel on veerg seadmeID kus on siis vastava seadme ID kirjas ning selle järgi otsid. |
Jah, sellest ohust olen teadlik, aga tänan, et hoiatasid. Nüüd on mul järgmine PHP rida:
php:
|
<? $query = mysql_query("SELECT * FROM seade JOIN seade_rike"); echo "<select name='seade_rike_seade_seeria_nr'>"; while ($row= mysql_fetch_array($query)) { if ($row['seade_rike_seade_seeria_nr']) { echo "<option"; if ($row['seade_rike_seade_seeria_nr'] == $seade_rike_seade_seeria_nr) { echo " selected=\"true\" "; } echo ">". $row['seade'] . " (". $row['seade_seeria_nr']. ")</option>"; } } echo "</select>"; ?>
|
Kuid ikka on rippmenüü tühi Mis veel katki on? Lehe koodis annab veateateks Undefined variable: seade_rike_seade_seeria_nr
|
|
Kommentaarid: 14 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
14 |
|
tagasi üles |
|
 |
andrusny
Kreisi kasutaja

liitunud: 20.03.2006
|
05.09.2012 16:38:29
|
|
|
Sul pole kusagil selle muutujale väärtust antud
$seade_rike_seade_seeria_nr
seda see veateade ütlebki.
Sa pead ennem seda koodi POST abil selle muutuja väärtustama.
if(isset($_POST['seade_rike_seade_seeria_nr'])){
$seade_rike_seade_seeria_nr = $_POST['seade_rike_seade_seeria_nr'];
}else{
$seade_rike_seade_seeria_nr = 1;} |
sinna else alla paned selle numbri, mida näidatakse selected siis kui midagi pole veel valitud.
Kas midagi sellist ei tööta sul? Sul polnud ju optionitel value sisse kirjutatud, ta ei saanudki midagi sul ju saata.
<?php
if(isset($_POST['seade_rike_seade_seeria_nr'])){
$seade_rike_seade_seeria_nr = $_POST['seade_rike_seade_seeria_nr'];
}else{
$seade_rike_seade_seeria_nr = 1;}
$query = mysql_query("SELECT * FROM seade JOIN seade_rike");
echo "<select name='seade_rike_seade_seeria_nr'>";
while ($row=mysql_fetch_array($query)) {
if ($row['seade_rike_seade_seeria_nr']) {
if ($row['seade_rike_seade_seeria_nr'] == $seade_rike_seade_seeria_nr) { $sel = " selected=\"true\" "; }else{$sel="";}
echo '<option value="'.$row['seade_rike_seade_seeria_nr'].'" '.$sel.' >'.$row['seade'].' '.$row['seade_seeria_nr'].'</option>';
}
echo "</select>";
?> |
_________________

viimati muutis andrusny 05.09.2012 16:53:02, muudetud 1 kord |
|
Kommentaarid: 7 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
7 |
|
tagasi üles |
|
 |
Raulj
Kreisi kasutaja

liitunud: 27.01.2002
|
05.09.2012 16:55:22
|
|
|
andrusny kirjutas: |
Sul pole kusagil selle muutujale väärtust antud
$seade_rike_seade_seeria_nr
seda see veateade ütlebki.
Sa pead ennem seda koodi POST abil selle muutuja väärtustama.
if(isset($_POST['seade_rike_seade_seeria_nr'])){
$seade_rike_seade_seeria_nr = $_POST['seade_rike_seade_seeria_nr'];
}else{
$seade_rike_seade_seeria_nr = 1;} |
sinna else alla paned selle numbri, mida näidatakse selected siis kui midagi pole veel valitud. |
Ütleks, et lahendus on väga lähedal - rippmenüüs kuvatakse küll andmeid, kuid ei valita eelnevalt valitut välja ning rippmenüüs kuvatakse samu andmeid 5 kordselt. Mis nüüd siis metsas on?
Hetkel koodid sellised:
php:
|
if(isset($_POST['seade_rike_seade_seeria_nr'])){ $seade_rike_seade_seeria_nr = $_POST['seade_rike_seade_seeria_nr']; }else{ $seade_rike_seade_seeria_nr = 1;}
|
php:
|
<? $query = mysql_query("SELECT * FROM seade JOIN seade_rike"); echo "<select name='seade_rike_seade_seeria_nr'>"; while ($row= mysql_fetch_array($query)) { if ($row['seade_rike_seade_seeria_nr']) { echo "<option"; if ($row['seade_rike_seade_seeria_nr'] == $seade_rike_seade_seeria_nr) { echo " selected=\"true\" "; } echo ">". $row['seade'] . " (". $row['seade_seeria_nr']. ")</option>"; } } echo "</select>"; ?>
|
Koodist nähtav valikute sektsioon on selline: <select name="seade_rike_seade_seeria_nr" value=<select name='seade_rike_seade_seeria_nr'><option>Häirenupp (423423424)</option><option>GSM keskus (24234234)</option><option>Suitsuandur (2424243)</option><option>Häirenupp (423423424)</option><option>GSM keskus (24234234)</option><option>Suitsuandur (2424243)</option><option>Häirenupp (423423424)</option><option>GSM keskus (24234234)</option><option>Suitsuandur (2424243)</option><option>Häirenupp (423423424)</option><option>GSM keskus (24234234)</option><option>Suitsuandur (2424243)</option><option>Häirenupp (423423424)</option><option>GSM keskus (24234234)</option><option>Suitsuandur (2424243)</option></select></select>
|
|
Kommentaarid: 14 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
14 |
|
tagasi üles |
|
 |
andrusny
Kreisi kasutaja

liitunud: 20.03.2006
|
05.09.2012 18:47:24
|
|
|
Loe mu eelmise postituse lõppu, mis uuendasin ainu postituse ajal. Viga siis selles, et sul puudub ju option value.
See, et kõiki 5x tuleb on päringu viga, ma andsin ennist veidi vale päringu, tuleb vaadata, et id oleksid sama mõlemas tabelis.
SELECT * FROM seade JOIN seade_rike WHERE seade.id = seade_rike.id |
_________________
 |
|
Kommentaarid: 7 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
7 |
|
tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
05.09.2012 19:44:28
|
|
|
JOIN süntaksi võiks paremini ära kasutada.
SELECT * FROM seade JOIN seade_rike ON seade.id = seade_rike.id
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
 |
Raulj
Kreisi kasutaja

liitunud: 27.01.2002
|
06.09.2012 10:06:11
|
|
|
mikk36 kirjutas: |
JOIN süntaksi võiks paremini ära kasutada.
SELECT * FROM seade JOIN seade_rike ON seade.id = seade_rike.id |
Nüüd on mu kood selline:
php:
|
<? $query = mysql_query("SELECT * FROM seade JOIN seade_rike WHERE seade.id = seade_rike.id"); echo "<select name='seade_rike_seade_seeria_nr'>"; while ($row= mysql_fetch_array($query)) { if ($row['seade_rike_seade_seeria_nr']) { echo "<option"; if ($row['seade_rike_seade_seeria_nr'] == $seade_rike_seade_seeria_nr) { echo " selected=\"true\" "; } echo ">". $row['seade'] . " (". $row['seade_seeria_nr']. ")</option>"; } } echo "</select>"; ?>
|
Kuid tulemuseks on, et rippmenüüs kuvatakse 2 valikut (kuigi neid peaks olema rohkem) ning õigetki ei valita. Ei taipa ma mis veel puudu on Hjälp...
andrusny kirjutas: |
Loe mu eelmise postituse lõppu, mis uuendasin ainu postituse ajal. Viga siis selles, et sul puudub ju option value.
See, et kõiki 5x tuleb on päringu viga, ma andsin ennist veidi vale päringu, tuleb vaadata, et id oleksid sama mõlemas tabelis.
SELECT * FROM seade JOIN seade_rike WHERE seade.id = seade_rike.id |
|
ID-d võivad tabelites olla küll samad, kuid nende väärtused on kindlasti ju erinevad - ma arvan, et neid ei saagi võrrelda, või mis?
|
|
Kommentaarid: 14 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
14 |
|
tagasi üles |
|
 |
mikk150
HV kasutaja
liitunud: 04.05.2006
|
06.09.2012 10:22:53
|
|
|
seade rike tabelis peaks olema seadme ID kajastatud.. Rikke ID st on natuke vähe kasu
sql:
|
SELECT * FROM seade LEFT JOIN seade_rike ON seade.id = seade_rike.seadme_id
|
ehk siis midagi sellist
php:
|
<?php $query = mysql_query('SELECT * FROM seade LEFT JOIN seade_rike ON seade.id = seade_rike.seadme_id'); ?> <select name="seade_rike_seade_seeria_nr"> <?php while ($row= mysql_fetch_assoc($query)) { //mysql_fetch_assoc on natuke kiirem kui mysql_fetch_array, kuna annab vähem andmeid tagasi(array annab igat väärtust 2*, mis on veits mõttetu) ?> <option<?php echo($row['seade_rike_seade_seeria_nr'] == $seade_rike_seade_seeria_nr)? ' selected="selected"' : ''; ?>><?php echo $row['seade']; ?>(<?php echo $row['seade_seeria_nr']; ?>)</option> } ?> </select>
|
viimati muutis mikk150 06.09.2012 11:00:12, muudetud 5 korda |
|
Kommentaarid: 3 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
3 |
|
tagasi üles |
|
 |
Raulj
Kreisi kasutaja

liitunud: 27.01.2002
|
06.09.2012 10:25:18
|
|
|
mikk150 kirjutas: |
seade rike tabelis peaks olema seadme ID kajastatud.. Rikke ID st on natuke vähe kasu
SELECT * FROM seade LEFT JOIN seade_rike ON seade.id = seade_rike.seadme_id |
|
Tulemus see, et valikukast on tühi.
|
|
Kommentaarid: 14 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
14 |
|
tagasi üles |
|
 |
mikk150
HV kasutaja
liitunud: 04.05.2006
|
06.09.2012 10:42:40
|
|
|
Raulj kirjutas: |
mikk150 kirjutas: |
seade rike tabelis peaks olema seadme ID kajastatud.. Rikke ID st on natuke vähe kasu
SELECT * FROM seade LEFT JOIN seade_rike ON seade.id = seade_rike.seadme_id |
|
Tulemus see, et valikukast on tühi. |
ilmselt puudub sul seade_rike tabelis seadme_id veerg... tee juurde, seo need tabelid omavahel ära
edit:// see kontroll võib ka vabalt nahka teha. korja see ära... eelmises postituses vähe parem kood sulle ka pandud
mul on üks küsimus ka, kas dropdown peaks kuvama kõik katkised seadmed, ja nende serialid või kõik seadmed ja mis katki?? sellest oleneb ka päringu suund...
|
|
Kommentaarid: 3 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
3 |
|
tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
06.09.2012 11:08:10
|
|
|
Põhimure siis selles, et sul pole korralikku andmemudelit isegi hetkel ja sa ei tea mida ja kuidas andmebaasist pärida.
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
 |
Raulj
Kreisi kasutaja

liitunud: 27.01.2002
|
06.09.2012 12:07:32
|
|
|
mikk150 kirjutas: |
Raulj kirjutas: |
mikk150 kirjutas: |
seade rike tabelis peaks olema seadme ID kajastatud.. Rikke ID st on natuke vähe kasu
SELECT * FROM seade LEFT JOIN seade_rike ON seade.id = seade_rike.seadme_id |
|
Tulemus see, et valikukast on tühi. |
ilmselt puudub sul seade_rike tabelis seadme_id veerg... tee juurde, seo need tabelid omavahel ära
edit:// see kontroll võib ka vabalt nahka teha. korja see ära... eelmises postituses vähe parem kood sulle ka pandud
mul on üks küsimus ka, kas dropdown peaks kuvama kõik katkised seadmed, ja nende serialid või kõik seadmed ja mis katki?? sellest oleneb ka päringu suund... |
Tegin tabeleid nüüd vähe ringi ja panin ühte tabelisse. Seega nüüd kahe tabeli asemel võetakse väärtus ühest tabelist. Aga oleks ikkagi vaja nii, et rippmenüü valib nimekirjast juba valitud nimekirja. Hetkel kood selline, millega on rippmenüü tühi:
php:
|
<? $query = mysql_query("SELECT * FROM seade_rike"); echo "<select name='seade_rike_seade_seeria_nr'>"; while ($row= mysql_fetch_array($query)) { if ($row['seade_rike_seade_seeria_nr']) { echo "<option"; if ($row['seade_rike_seade_seeria_nr'] == $seade_rike_seade_seeria_nr) { echo " selected=\"true\" "; } echo ">". $row['seade_rike_seade_seeria_nr'] . " (". $row['seade_seeria_nr']. ")</option>"; } } echo "</select>"; ?>
|
|
|
Kommentaarid: 14 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
14 |
|
tagasi üles |
|
 |
andrusny
Kreisi kasutaja

liitunud: 20.03.2006
|
06.09.2012 12:32:45
|
|
|
Kui sa nüüd läksid ühe tabeli peale, siis päringu pead tegema sellise, et ei käiks kogu tabelit läbi. Eeldan, et kõik seadmed pole rikkis pidevalt, siis paned rikke _nr =0 ja otsid ainult neid ridu, kus see pole 0
SELECT * FROM seade_rike WHERE seade_rike_seade_seeria_nr > 0 |
koodi ära pane segiläbi väljatrükki ja if lauseid, pane üks rida väljatrükki ja ifid lahenda ennem ära.
PHP algus kirjuta kood php ga, sest mõned serverid ei toeta ainult <? algust.
<?php
$query = mysql_query("SELECT * FROM seade_rike WHERE seade_rike_seade_seeria_nr > 0");
echo "<select name='seade_rike_seade_seeria_nr'>";
while ($row=mysql_fetch_array($query)) {
if ($row['seade_rike_seade_seeria_nr'] == $seade_rike_seade_seeria_nr) {$sel ='selected';}else{$sel ='';}
echo '<option value="'.$row['seade_rike_seade_seeria_nr'].'" '.$sel.'> '.$row['seade_rike_seade_seeria_nr'].' ('.$row['seade_seeria_nr'].') </option>';
}
echo "</select>";
?> |
sa tahad kangekaelselt value väljast loobuda.
option vorming on selline ja selected ei ole mingi true seal.
<option value="wefwefwef" selected> tere </option> |
_________________

viimati muutis andrusny 06.09.2012 12:35:32, muudetud 1 kord |
|
Kommentaarid: 7 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
7 |
|
tagasi üles |
|
 |
|