Confrontare data, ora e aula per evitare sovrapposizioni

Marco Nicolè

Nuovo Utente
27 Mag 2013
2
0
0
Un saluto alla comunità di MrWebmaster,
scrivo dopo aver cercato invano, premetto che non sono una scheggia nell'uso di php :o
Ho la necessità di verificare (in una tabella che contiene i campi DATA, ORA e AULA) eventuali sovrapposizioni orarie e di aula quando vengono inseriti i dati attraverso form.
Grazie in anticipo!
 
ciao
guarda il seguente schema
PHP:
<?php
//dati di connessione
if(isset($_POST['invia'])){
	$data=$_POST['data'];
	$ora=$_POST['ora'];
	$aula=$_POST['aula']
	$q=mysql_query("SELECT * FROM tabella WHERE data='$data' AND ora='$ora' AND aula='$aula'");
	if(mysql_num_rows($q) > 0){//esiste un record per quella data e ora nell'aula indicata
		echo "non possibile inserire, sovrapposizione";
		//e rimandi dove vuoi
	}else{
		//fai l'inserimento dei dati
	}
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" >  
   <p>data <input name="data" type="text" id="data"><br>
     ora <input name="ora" type="text" id="ora"><br>
     aula <input name="aula" type="text" id="aula"></p>
	<input name="invia" type="submit" id="invia" value="invia">
</form>
è evidente che il formato della data e dell'ora deve essere uguale tra quello che inserisci e il formato dei campi in tabella
 
Data-database

ciao
guarda il seguente schema
PHP:
<?php
//dati di connessione
if(isset($_POST['invia'])){
	$data=$_POST['data'];
	$ora=$_POST['ora'];
	$aula=$_POST['aula']
	$q=mysql_query("SELECT * FROM tabella WHERE data='$data' AND ora='$ora' AND aula='$aula'");
	if(mysql_num_rows($q) > 0){//esiste un record per quella data e ora nell'aula indicata
		echo "non possibile inserire, sovrapposizione";
		//e rimandi dove vuoi
	}else{
		//fai l'inserimento dei dati
	}
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" >  
   <p>data <input name="data" type="text" id="data"><br>
     ora <input name="ora" type="text" id="ora"><br>
     aula <input name="aula" type="text" id="aula"></p>
	<input name="invia" type="submit" id="invia" value="invia">
</form>
è evidente che il formato della data e dell'ora deve essere uguale tra quello che inserisci e il formato dei campi in tabella


Ciao Borgo,:incazz2::dipser:

"problemino" in una sezione de un form il cliente prenota e paga una data tipo: del 23/06 al 12/07,
Tramite un array e un ciclo for recupero le date, e fin li tutto ok, io però dovrei garantire che il prossimo cliente non selezione le stesse date, mi sono bloccato, ho provato a inserire tutte le date nel database tramite un ciclo ma inserisci soltanto la ultima, ho anche provato a inserirli in array e convertirlo in stringa ma poi non trova uguaglianza...... mi dai un consiglio, link a una guida, magari un codice....sono davvero bloccato
 
Come mai inserisce soltanto l'ultima? Prova a postare il codice che hai utilizzato.
 
Ok ok

Come mai inserisce soltanto l'ultima? Prova a postare il codice che hai utilizzato.

Ieri sono riuscito a inserire tutte le date mettendo la query dentro il ciclo for, oggi sera ti posto il codice così mi dici se c'è qualcosa che non si deve fare......
 
Va bene se tutto il resto è come ha suggerito borgo ti basta postare quello che hai inserito al posto di:
PHP:
//fai l'inserimento dei dati
 
risolto

Va bene se tutto il resto è come ha suggerito borgo ti basta postare quello che hai inserito al posto di:
PHP:
//fai l'inserimento dei dati

Grazie a tutti ,risolto,volevo farvi vedere tutto il codice ma e troppo lungo................:byebye:
 
Sarebbe meglio postarlo comunque per aiutare altri che avranno lo stesso problema.
 

Discussioni simili