IF con un campo del database

Paolo Fattoruso

Nuovo Utente
3 Feb 2013
14
0
0
Ciao a tutti e grazie per il vostro aiuto.
Questo è il mio codice:

PHP:
<form method="post" action="">
<select name="select1">
<?php
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
?>
Username <option value="<?php echo $line['cf_id'];?>"> <?php echo $line['cf_id'];?> </option>
 
<?php
}
?>
</select><br><br>

<br><br>

<B>Posti:</B> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp <select size="1" name="posti">
<option value="selezionare">selezionare</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<br><br>

<input type="submit" name="submit" value="Prenota" />
</form>


<?php
$con = mysql_connect("xxxx" , "xxxx" , "xxxx");
if (!$con)
  {  die('Could not connect: ' . mysql_error());}

mysql_select_db("xxxx", $con);

$cf_id=$_POST['select1'];
$posti=$_POST['posti'];
$vai=$_POST['submit'];
if (isset($vai))
{

$query = "SELECT avjos16_users.id,avjos16_users.name,avjos16_chronoforms_data_viaggio.cf_id, avjos16_chronoforms_data_viaggio.ruolo,avjos16_chronoforms_data_viaggio.partenza,avjos16_chronoforms_data_viaggio.giorno,avjos16_chronoforms_data_viaggio.ora,avjos16_chronoforms_data_viaggio.arrivo,avjos16_chronoforms_data_viaggio.posti,avjos16_chronoforms_data_viaggio.fumatore,avjos16_chronoforms_data_viaggio.note ".
 "FROM avjos16_users, avjos16_chronoforms_data_viaggio ".
    "WHERE ( avjos16_users.id = avjos16_chronoforms_data_viaggio.cf_user_id AND ruolo= '{$_POST['ruolo']}' AND partenza= '{$_POST['partenza']}' AND arrivo= '{$_POST['arrivo']}' AND username!='". $user->username."' AND cf_created_by!= '".$user->id."'  )";

if ('$posti' <= posti) 
               {		
			
			$query = "UPDATE  avjos16_chronoforms_data_viaggio SET posti = posti-'$posti' WHERE cf_id='$cf_id' "; 
                        $result = mysql_query($query);

                             $query1 = "UPDATE  prenotazioni SET user_id = '".$user->id."' , richiedente = ' . $user->username . ' ,corsarich='$cf_id'"; 
                             $result = mysql_query($query1);			
		}
			else
  {  echo "Puoi selezionare al massimo X posti";  }
	
}

mysql_close($con);
?>

il form funziona bene , il mio problema è che non riesco a fare un IF con il dato inserito da form e il dato presente nel database nel campo posti.
Ho provato con
PHP:
if ('$posti' <= 2)
ed in base al valore inserito nel form l'IF risponde correttamente.
Mentre se prende il valore del campo del database NO.
Come posso risolvere??
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
PHP:
if ('$posti' <= 2)
gli apici non ci vanno
PHP:
if ($posti <= 2)
 

Paolo Fattoruso

Nuovo Utente
3 Feb 2013
14
0
0
Il database che contiene il campo posti è :
avjos16_chronoforms_data_viaggio
Cattura33.JPG
 

Paolo Fattoruso

Nuovo Utente
3 Feb 2013
14
0
0
ciao hai ragione :)
ma come dicevo precedentemente facendo il confronto con un numero fissato da me funziona [ad es. if ($posti <= 2) ] ... INVECE il problema è che non funziona se lo confronto con il valore presente nel campo posti del database avjos16_chronoforms_data_viaggio


PHP:
if ('$posti' <= 2)
gli apici non ci vanno
PHP:
if ($posti <= 2)
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
ma l'hai postato tutto il codice?
non vedo l'esecuzione della query
dopo la query dovrebbe esserci piu o meno questo
PHP:
$result = mysql_query($query);
$row = mysql_fetch_assoc($result);

if ($posti <= $row['posti']) {
    
}
 

Paolo Fattoruso

Nuovo Utente
3 Feb 2013
14
0
0
PHP:
<?php
$con = mysql_connect("xxxx" , "xxxx" , "xxxx");
if (!$con)
  {  die('Could not connect: ' . mysql_error());}

mysql_select_db("xxxxxxxx", $con);

$cf_id=$_POST['select1'];
$posti=$_POST['posti'];
$vai=$_POST['submit'];
if (isset($vai))
{
$query3 = "SELECT * ".
               "FROM avjos16_users, avjos16_chronoforms_data_viaggio ".
               "WHERE ( avjos16_users.id = avjos16_chronoforms_data_viaggio.cf_user_id AND ruolo= '{$_POST['ruolo']}' AND partenza= '{$_POST['partenza']}' AND arrivo= '{$_POST['arrivo']}' AND username!='". $user->username."' AND cf_created_by!= '".$user->id."'  )";


$result = mysql_query($query3);
$row = mysql_fetch_assoc($result);
if ($posti <= $row['posti'])


      {					
                  $query = "UPDATE  avjos16_chronoforms_data_viaggio SET posti = posti-'$posti' WHERE cf_id='$cf_id' "; 
                  $result = mysql_query($query);

                  $query1 = "UPDATE  prenotazioni SET user_id = '".$user->id."' , richiedente = ' . $user->username . ' ,corsarich='$cf_id'"; 
                  $result = mysql_query($query1);

	}
			else
  {  echo "Puoi selezionare al massimo";}
}
mysql_close($con);
?>


Ora sia per valori minori che maggiori mi da sempre la risposta ELSE.
già è qualcosa perchè significa che dovrebbe leggere il valore del database.







ma l'hai postato tutto il codice?
non vedo l'esecuzione della query
dopo la query dovrebbe esserci piu o meno questo
PHP:
$result = mysql_query($query);
$row = mysql_fetch_assoc($result);

if ($posti <= $row['posti']) {
    
}
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
stampa il valore cosi vediamo cosa contiene
PHP:
$result = mysql_query($query3);
$row = mysql_fetch_assoc($result);

var_dump($row['posti']); // stampa il valore

if ($posti <= $row['posti'])
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
prova a stampare tutto
PHP:
var_dump($row);
cmq se ti serve solo il campo punti la query si puo semplificare parecchio
 

Paolo Fattoruso

Nuovo Utente
3 Feb 2013
14
0
0
prova a stampare tutto
PHP:
var_dump($row);
cmq se ti serve solo il campo punti la query si puo semplificare parecchio


mi dà:
bool(false)

cmq questo non è tutto il codice ma solo la parte che mi da problemi..se ti facessi vedere l'intero codice che ho fatto altro che complicato...lo è di più :dipser:

è che sto alle prime armi , faccio tutto da autodidatta :book: per un esame :)

non guardo ne alla parte estetica ma basta che funzioni :'(
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
la query potrebbe andare in errore per qualche motivo
stampala insieme agli eventuali errori
PHP:
$result = mysql_query($query3);
if (!$result) {
    echo "query : " . $query3 . " <br/>errore : " . mysql_error();
}
 

Paolo Fattoruso

Nuovo Utente
3 Feb 2013
14
0
0
lo ho modificato così:

PHP:
$query3 = "SELECT * FROM avjos16_users, avjos16_chronoforms_data_viaggio
		WHERE (   cf_id= '{$_POST['select1']}' AND avjos16_users.id = avjos16_chronoforms_data_viaggio.cf_user_id AND ruolo= '{$_POST['ruolo']}' AND partenza= '{$_POST['partenza']}' AND arrivo= '{$_POST['arrivo']}' AND username!='". $user->username."' AND cf_created_by!= '".$user->id."' )";
		$result = mysql_query($query3);

	if ($result) 
			{		
echo "query : " . $query3 . " <br/>errore : " . mysql_error();
			}
			else
  {  echo "Puoi selezionare al massimo";  }
	
}


il risultato è:
PHP:
query : SELECT * FROM avjos16_users, avjos16_chronoforms_data_viaggio WHERE ( cf_id= '13' AND avjos16_users.id = avjos16_chronoforms_data_viaggio.cf_user_id AND ruolo= '' AND partenza= '' AND arrivo= '' AND username!='pablo' AND cf_created_by!= '43' )
errore :
 
Discussioni simili
Autore Titolo Forum Risposte Data
R Aprire maschera con Openform filtrando un campo testuale con un valore recuperato da un'altra maschera MS Access 10
A pulsante di update campo mysql con javascript Javascript 2
G Campo HTML input file con jQuery jQuery 0
D [MS Access] problemi con inserimento campo in una maschera MS Access 6
R [MS Access] CAMPO CALCOLATO CON FUNZIONE DSUM MS Access 19
M [PHP] Controllo campo cap con trattino oltre ai numeri PHP 3
F [MySQL] Select con due condizioni su uno stesso campo MySQL 7
G [ACCESS2007]: contare li ultimi record con lo stesso valore in un campo, finchè il valore non cambia MS Access 2
MarcoGrazia campo con autocompletamento a formato multiplo (nomi/date) jQuery 3
B [MySQL] CAMPO CON SIGLA INZIALE CHE SI AUTOINCREMENTA MySQL 1
P Query con Somma di un Campo , aggregazione e join Database 3
B DB Access 2007 - formato campo con valore si/no Database 0
M Numerare automaticamente campo numerico con più parametri PHP 4
A Problema con "explode" su campo date PHP 9
E Campo con record automatico MS Access 0
C Query con campo a valori multipli MS Access 0
P Cambiare il valore di un campo tabella con un pulsante cliccabile PHP 2
M Alert con campo php PHP 6
M Campo Select con dati da DB PHP 1
T selezionare un campo da un db con radio button PHP 0
L problema creazione query con campo float PHP 2
L come passare il campo allegato dal file html al fiel php per spedirlo con un form PHP 12
G Tabella con campo a scelta multipla (dropbox) MS Access 1
K [risolto] Campo con doppio ordimanento MySQL 6
S campo con dati di un altro campo PHP 9
G modificare il campo blob con il campo text PHP 0
P Campo testo con input pre-formattato HTML e CSS 2
L Inserire campo input dinamico con contatore in jquery jQuery 8
I Riga tabella HTML creata con cicli PHP e Query Sql che restituisca un campo se si clicca la Riga PHP 4
R Query con campo fisso MySQL 1
asevenx unificare tabelle con campo uguale phpBB 4
K form con campo specifico obbligatorio PHP 24
K Valorizzazione condizionale campo con SQL Management Studio 2005 Database 0
M processare un form con campo testo e radio button PHP 4
M campo ordine da modificare con form PHP 2
D Modulo ricerca in ASP con campo modulo predefinito a tendina Classic ASP 8
emanuelevt campo password con scritta Javascript 22
S problema con visualizzazione campo in una tabella PHP 12
M Interazione tra un più campi di un form con un solo campo di database - query mysql PHP 2
P campo file con record db PHP 0
H problemi con campo clob PHP 1
S Usare onmouseover con 'campo immagine' e non al tag <img> Javascript 3
T Visualizzare campo numerico con formato € Classic ASP 2
N Campo Text con nome variabile Javascript 0
G Campo calcolato con DOM Javascript 17
R Scorrere una SELECT con un campo testo Classic ASP 6
grottafelix Campo modulo con elenco. HTML e CSS 9
F access ricerca record con apostrofo. MS Access 0
F Cerco Hosting con VECCHIE versioni di php Hosting 0
C Come ricreare questo calcolatore di prezzi a step con woocommerce? WordPress 0

Discussioni simili