- Home
- Categorie
- Coding e Sistemistica
- Coding
- Select option form con query di controllo
-
Select option form con query di controllo
salve raga,
mi serve un piccolo aiutino con del codice.ho un normale form html che invia dati su un db mysql.
ho un campo data proveniente da una select option. Vorrei che alla selezione della data della select mi si esegua un count di quanti posti disponibili ci sono ancora con relativa azione successiva di non permettere la registrazione per quella data ed effettuare una echo di avviso all'utente.
quindi lo schema logico sarebbe questo :
- seleziono data
- count record su db per quella data
- controllo valori, se trovo 0,1,2 record permetti se trovo 3 nega (blocco tasto submit)
- avviso l'utente tramite echo
naturalmente vorrei che ciò avvenisse alla selezione della data e non solo all'invio della form, poi se non è fattibile usiamo la procedura più consona.
allora raga, tralasciando il blocco del submit e le relative problematiche di non usare ajax ho trova questo codice modificandolo un pò ma che di sicuro è errato lo so

nel file de form.php ho inserito nell'head questo :
<script type="text/javascript"> function showUser(str) { if (str=="") { document.getElementById("txtHint").innerHTML=""; return; } if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("txtHint").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","getuser.php?q="+str,true); xmlhttp.send(); } </script>e sempre nel form.php ho impostato la select in questo modo :
<select name="dataprova" id="dataprova" type="text" onchange="showUser(this.value)" > <option selected value=""> Seleziona ... </option> <option value="4 Settembre 2011"> 4 Settembre 2011 </option> <option value="11 Settembre 2011"> 11 Settembre 2011 </option> <option value="3"> 18 Settembre 2011 </option> <option value="4"> 25 Settembre 2011 </option> <option value="5"> 2 Ottobre 2011 </option> <option value="6"> 9 Ottobre 2011 </option> <option value="7"> 16 Ottobre 2011 </option> <option value="8"> 23 Ottobre 2011 </option> <option value="9"> 30 Ottobre 2011 </option> <option value="10"> 6 Novembre 2011 </option> <option value="11"> 13 Novembre 2011 </option> <option value="12"> 20 Novembre 2011 </option> <option value="13"> 27 Novembre 2011 </option> <option value="14"> 4 Dicembre 2011 </option> <option value="15"> 11 Dicembre 2011 </option> <option value="16"> 18 Dicembre 2011 </option> </select>il file getuser.php è questo :
[PHP]
<?php $q=$_GET["q"];
// richiamo lo script responsabile della connessione a MySQL require 'connect.php';
$sql="SELECT COUNT(dataprova) FROM prenotazioni";
$result = mysql_query($sql);if ($q=1) printf ("3 Posti Disponibili");
else if ($q=2) printf ("2 Posti Disponibili");
else printf ("1 Posto Disponibile");
echo "(.$q.)" ?>[/PHP]mi aiutate a trovare gli errori ?
nel getuser.php dovrei verificare quante volte è presente nella tabella prenotazioni campo dataprova la data della select e recuperare questo valore con un numero da 0 a 3...
se è 0 stampo a video 3 posti disp
se è 1 stampo a video 2 posti disp
se è 2 stampo a video 1 posto disp
se è 3 stampo a video nessun posto disp
-
Ciao nightfrost,
il primo errore che si nota subito è relativo agli if in cui utilizzi l'operatore di assegnazione invece che di confronto.
Dovresti inoltre indicare l'errore che hai in maniera da determinare se è relativo al file php o riguarda il lato client (AJAX).