• Home
  • Forum
  • Fare Web
  • PHP

IF con un campo del database

  • Creatore Discussione Creatore Discussione Paolo Fattoruso
  • Data di inizio Data di inizio 20 Feb 2013
P

Paolo Fattoruso

Nuovo Utente
3 Feb 2013
14
0
0
  • 20 Feb 2013
  • #1
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??
 

ivarello

Utente Attivo
14 Dic 2012
211
1
16
  • 20 Feb 2013
  • #2
Ciao potresti postare anche il dabatase così posso aiutarti meglio
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 20 Feb 2013
  • #3
PHP:
if ('$posti' <= 2)
gli apici non ci vanno
PHP:
if ($posti <= 2)
 
P

Paolo Fattoruso

Nuovo Utente
3 Feb 2013
14
0
0
  • 20 Feb 2013
  • #4
Il database che contiene il campo posti è :
avjos16_chronoforms_data_viaggio
 
P

Paolo Fattoruso

Nuovo Utente
3 Feb 2013
14
0
0
  • 20 Feb 2013
  • #5
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


criric ha scritto:
PHP:
if ('$posti' <= 2)
gli apici non ci vanno
PHP:
if ($posti <= 2)
Clicca per allargare...
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 20 Feb 2013
  • #6
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']) {
    
}
 
P

Paolo Fattoruso

Nuovo Utente
3 Feb 2013
14
0
0
  • 20 Feb 2013
  • #7
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.







criric ha scritto:
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']) {
    
}
Clicca per allargare...
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 20 Feb 2013
  • #8
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'])
 
P

Paolo Fattoruso

Nuovo Utente
3 Feb 2013
14
0
0
  • 20 Feb 2013
  • #9
Cmq grazie per la disponibilità .

Da un NULL mentre il valore che dovrebbe segnare è ad es 4.
 

criric

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

Paolo Fattoruso

Nuovo Utente
3 Feb 2013
14
0
0
  • 20 Feb 2013
  • #11
criric ha scritto:
prova a stampare tutto
PHP:
var_dump($row);
cmq se ti serve solo il campo punti la query si puo semplificare parecchio
Clicca per allargare...


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.606
54
48
TN
  • 20 Feb 2013
  • #12
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();
}
 
P

Paolo Fattoruso

Nuovo Utente
3 Feb 2013
14
0
0
  • 20 Feb 2013
  • #13
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 :
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 20 Feb 2013
  • #14
come puoi vedere dal mesaggio i dati in POST sono vuoti
AND ruolo= '' AND partenza= '' AND arrivo= ''
Clicca per allargare...
 
Devi accedere o registrarti per poter rispondere.

Discussioni simili

R
Aprire maschera con Openform filtrando un campo testuale con un valore recuperato da un'altra maschera
  • RAF66
  • 27 Mar 2022
  • MS Access
Risposte
10
Visite
4K
MS Access 3 Apr 2022
RAF66
R
A
pulsante di update campo mysql con javascript
  • AndreaCerre
  • 31 Mar 2021
  • Javascript
Risposte
2
Visite
2K
Javascript 31 Mar 2021
AndreaCerre
A
G
Campo HTML input file con jQuery
  • Gian72Luca
  • 23 Mar 2019
  • jQuery
Risposte
0
Visite
2K
jQuery 23 Mar 2019
Gian72Luca
G
D
[MS Access] problemi con inserimento campo in una maschera
  • dario21
  • 27 Feb 2019
  • MS Access
Risposte
6
Visite
2K
MS Access 28 Feb 2019
dario21
D
R
[MS Access] CAMPO CALCOLATO CON FUNZIONE DSUM
  • RATTS71
  • 16 Mar 2018
  • MS Access
Risposte
19
Visite
11K
MS Access 22 Mar 2018
CarlettoFed
C
M
[PHP] Controllo campo cap con trattino oltre ai numeri
  • MoPa
  • 20 Gen 2018
  • PHP
Risposte
3
Visite
3K
PHP 2 Feb 2018
zorro
F
[MySQL] Select con due condizioni su uno stesso campo
  • Francesco_72
  • 21 Ago 2017
  • MySQL
Risposte
7
Visite
6K
MySQL 21 Ago 2017
Francesco_72
F
G
[ACCESS2007]: contare li ultimi record con lo stesso valore in un campo, finchè il valore non cambia
  • Giowin
  • 22 Mag 2017
  • MS Access
Risposte
2
Visite
2K
MS Access 21 Lug 2017
almorel
A
campo con autocompletamento a formato multiplo (nomi/date)
  • MarcoGrazia
  • 16 Mag 2017
  • jQuery
Risposte
3
Visite
2K
jQuery 17 Mag 2017
criric
B
[MySQL] CAMPO CON SIGLA INZIALE CHE SI AUTOINCREMENTA
  • blasco46
  • 4 Ott 2016
  • MySQL
Risposte
1
Visite
1K
MySQL 5 Ott 2016
blasco46
B
B
DB Access 2007 - formato campo con valore si/no
  • Barbara Tosi
  • 16 Dic 2015
  • Database
Risposte
0
Visite
2K
Database 16 Dic 2015
Barbara Tosi
B
M
Numerare automaticamente campo numerico con più parametri
  • Max61
  • 27 Nov 2015
  • PHP
Risposte
4
Visite
2K
PHP 30 Nov 2015
Max61
M
A
Problema con "explode" su campo date
  • antonioantonio
  • 15 Ott 2015
  • PHP
Risposte
9
Visite
2K
PHP 16 Ott 2015
antonioantonio
A
E
Campo con record automatico
  • Emanuele Rossorollo
  • 30 Ago 2015
  • MS Access
Risposte
0
Visite
2K
MS Access 30 Ago 2015
Emanuele Rossorollo
E
C
Query con campo a valori multipli
  • castoperrotta
  • 24 Ago 2015
  • MS Access
Risposte
0
Visite
2K
MS Access 24 Ago 2015
castoperrotta
C
P
Cambiare il valore di un campo tabella con un pulsante cliccabile
  • Pinco Pallino
  • 25 Feb 2015
  • PHP
Risposte
2
Visite
3K
PHP 3 Mar 2015
Pinco Pallino
P
M
Alert con campo php
  • Max61
  • 8 Gen 2015
  • PHP
Risposte
6
Visite
4K
PHP 11 Gen 2015
Altutto
A
M
Campo Select con dati da DB
  • MisterWebMas83
  • 7 Nov 2014
  • PHP
Risposte
1
Visite
1K
PHP 7 Nov 2014
Altutto
A
T
selezionare un campo da un db con radio button
  • tokyo74
  • 15 Lug 2014
  • PHP
Risposte
0
Visite
1K
PHP 15 Lug 2014
tokyo74
T
L
problema creazione query con campo float
  • luigi777
  • 16 Giu 2014
  • PHP
Risposte
2
Visite
2K
PHP 16 Giu 2014
luigi777
L
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?