DropDown per ID non assegnati
19/10/2012 16:00:13
Per come l'ho scritto lui stampa solo quelli liberi. Prova ad occupare l'id 5100, o il 5200. Dovrebbe darti un elenco simile a questo
5000
5300
5400
5500
e così via
19/10/2012 16:03:59
darkabe ha scritto: Per come l'ho scritto lui stampa solo quelli liberi. Prova ad occupare l'id 5100, o il 5200. Dovrebbe darti un elenco simile a questo
5000
5300
5400
5500
e così via
Niet, ho riempito 5000 e 5100 ma l'elenco non varia...
19/10/2012 16:16:56
Ho fatto una prova in locale per vedere se qualcosa non andasse. A me funziona correttamente.. nella mia tabella ci sono gli id 1000 e 2000 occupati, ho generato la lista da 0 a 3000 e mi ha escluso proprio i numeri 1000 e 2000!
L'unica cosa di cui mi sono accorto è che nella query ho usato gli ' ' (apici), ma non me le ha accettati perché giustamente va scritta entro " " (doppi apici).
prova ad eseguire questa query
SELECT * FROM Mappa WHERE ID=$stanza
in modo manuale dentro il phpmyadmin, e dimmi se funziona correttamente. Dovrebbe dare insieme vuoto se metti un ID libero, e le informazioni su quella chat se ne metti uno occupato.
19/10/2012 16:20:25
darkabe ha scritto: Ho fatto una prova in locale per vedere se qualcosa non andasse. A me funziona correttamente.. nella mia tabella ci sono gli id 1000 e 2000 occupati, ho generato la lista da 0 a 3000 e mi ha escluso proprio i numeri 1000 e 2000!
L'unica cosa di cui mi sono accorto è che nella query ho usato gli ' ' (apici), ma non me le ha accettati perché giustamente va scritta entro " " (doppi apici).
prova ad eseguire questa query
SELECT * FROM Mappa WHERE ID=$stanza
in modo manuale dentro il phpmyadmin, e dimmi se funziona correttamente. Dovrebbe dare insieme vuoto se metti un ID libero, e le informazioni su quella chat se ne metti uno occupato.
In effetti, eseguendo
SELECT * FROM Mappa WHERE ID=$stanza
nel DB mi da insieme vuoto per ID inesistenti e mi mostra la riga del ID per quelli presenti.
Ora controllo di non aver scritto gli apici sbagliati...anche mi dovrebbe dare errore...
19/10/2012 16:21:40
Vaaa beh,
'SELECT * FROM Mappa WHERE ID=$stanza'
non gli piace
"SELECT * FROM Mappa WHERE ID=$stanza"
funziona!
Grazie mille abe :-)
19/10/2012 16:27:10
Figurati!
Se questa porzione di codice viene richiamata di frequente ti consiglio di sostituire il SELECT * con SELECT ID, non sarà molto ma perlomeno alleggerisce un po' il carico del DB e non gli fa selezionare cose che poi non vengono nemmeno usate!
19/10/2012 17:58:37
Ragazzi va bene voler creare una soluzione che "semplicemente funzioni", ma almeno diamo un po' di attenzione all'uso delle risorse. Perchè fare N query quando in realtà è sufficiente farne una sola? (è meglio fare una sola query grande piuttosto che N query piccole, a causa degli overhead di interfacciarsi con MySql)
<select name="ID" id="ID2">
<?php
$min=5000;
$max=7000;
$step=100;
$set=range($min,$max,$step);
$used_rooms=array();
$MySql = "SELECT ID FROM Mappa WHERE ID IN (".implode(',',$set).") ORDER BY ID";
$Result = mysql_query($MySql);
while($rs=mysql_fetch_assoc($Result)){
$used_rooms[]=$rs['ID'];
}
for($set as $value){
if(!in_array($value,$used_rooms)){
echo '<option value="'.(int)$value.'">~'.(int)$value.'</option>';
}
}
?>
</select>
Discussione seguita da
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
Foundation Galactic Frontier ↗
Raja Dunia ↗
Neverness to Everness ↗
Storie di Agarthi ↗
World of Warship ↗
Exclusive Villa GdR ↗