[RISOLTO]oscurare momentaneamente oggetto del database

Fabrizio Villa

Utente Attivo
19 Gen 2013
131
0
16
Salve,
qualcuno avrebbe un'idea di come realizzare un comando che quando desidero interrompe o riattiva un oggetto del db del sito?
Provo a spiegarmi meglio:
Ho un sito dove si possono ordinare dei sandwich. Quando il pane o uno degli altri ingredienti si esaurisce come faccio a farlo sparire dal sito senza cancellarlo dal database?
Ringrazio molto e scusate l'incompetenza.
 
ciao
intanto mangia meno :)
poi potresti mettere nella tabella un campo set chiamato es. disponibilita con 0 = esaurito, 1=disponibile, quando esaurisci il componente uppi il campo a 0 e nella select metti
WHERE .... AND disponibilita=1
quindi se è uno lo vedi se esaurito no
 
porca miseria, direi geniale!!
mi aiuti solo a scrivere il comando php per favore?
Dunque, nella pagina dove visualizzo il pane per esempio ho questo codice:
PHP:
foreach($tab['pain'] as $id => $pain)
{			
	if ($pain == 'Baguette')
		echo '<input type="radio" checked="checked" name="rbpain" value="'.$pain.'"  />'.$pain;	
	else
		echo '<input type="radio" name="rbpain" value="'.$pain.'"  />'.$pain;			
}

Grazie infinite!
 
e qui invece è un altra pagina, sempre con il pane:
PHP:
$sql_pane = "SELECT * FROM tpane";

$req_pane = mysql_query($sql_pane) or die ("Erreur SQL > ".$sql_pane."<br />".mysql_error());

Dove si mette eattamente il WHERE?
Scusa l'immensa ignoranza e grazie!
 
ciao
seguo il dubbio di longo.
come hai chiamato il campo?
con set intendevo il tipo (set vuol dire che accetta solo i valori impostati, in qusto caso 0 o 1), se hai chiamato il campo 'pinco' devi fare
PHP:
$sql_pane = "SELECT * FROM tpane 
             WHERE pinco='1'";
 
Grazie mille per la risposta!
Ho impostato il tipo di colonna su set e l'ho chiamata set...così non mi confondo...:rolleyes:
ecco l'errore:
PHP:
Erreur SQL > SELECT * FROM tpane WHERE set='1'
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'set='1'' at line 2
 
Questo è l'errore che dà con il codice cambiato (su consiglio gentile di longo):

PHP:
Erreur SQL > SELECT * FROM tpane WHERE set=1
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'set=1' at line 2
 
Non penso. Poi ce lo dovresti dire tu.
Credo che ora tu abbia impostato il campo che può assumere solo i valori 0 e 1.
Ora basta inserire 1 quando è disponibile l'ingrediente e 0 quando non lo è, poi ovviamente farai i controlli (come la query di cui si discuteva) per vedere se è disponibile o meno.
 
Grazie per la risposta!
Allora ecco qua la mia tabella:
tabella.png
 
Il campo "set" è di tipo "set", con "Length/Values" impostato a '0','1'.
Poi ho dato 1 a tutte le colonne.
La query è la stessa:
PHP:
$sql_pane = "SELECT * FROM tpane
            WHERE set='1'";
Ho provato anche cosî:
PHP:
$sql_pane = "SELECT * FROM tpane
            WHERE set=1";
Ma mi dà sempre lo stesso errore:
Erreur SQL > SELECT * FROM tpane WHERE set='1'
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'set='1'' at line 2

Sapete dirmi per favore dove sbaglio?
Grazie infinite!
 
Se provi la query nell'sql di phpmyadmin dovrebbe darti qualche informazione in più.
 
Ecco l'errore con il sql da phpmyamin:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'set=1 LIMIT 0, 30' at line 1
 
L'avevo pensato ma non volevo sparare una cretinata.
Non puoi chiamare un campo set perché è una parola chiave riservata al dbms.
Prova a cambiare nome al campo.
 
Grande! ora funziona! Fantastico!
Purtroppo per voi però vi devo ancora fracassare i cocomeri...scusatemi tanto!
Vorrei sapere se era possibile (ed eventualmente come) fare in modo che quando set =0, quindi non disponibile, invece che scomparire apparisse una scritta e/o immagine tipo "esaurito" (come me in questo momento :rolleyes:)...
grazie infinite!!!
 
Altro problema, vi prego di aiutarmi...

Ho una pagina dove posso modificare il database.
Devo riuscire a modificare il valore della colonna dispo (che è di tipo set come detto prima...), ma non ci riesco, mi dà sempre errore.
Ecco il codice che sto usando:

PHP:
else
		{
			foreach($nom as $nmodif)
			{
				$sql = "UPDATE ".$table." SET ".$champ." = '".addslashes($nmodif)."' WHERE id = ".$id[$idxid]."";
				mysql_query($sql) or die ("Erreur SQL > ".$sql."<br />".mysql_error()); 
				$idxid++;
			}		
		}

Ho provato ad aggiungere questa riga:
PHP:
else
		{
			foreach($nom as $nmodif)
			{
				$sql = "UPDATE ".$table." SET ".$champ." = '".addslashes($nmodif)."',".$dispo." = ".$dispo."  WHERE id = ".$id[$idxid]."";
				mysql_query($sql) or die ("Erreur SQL > ".$sql."<br />".mysql_error()); 
				$idxid++;
			}		
		}

Ma mi dà:
Notice: Array to string conversion in C:\xampp... on line 83

Notice: Array to string conversion in C:\xampp... on line 83
Erreur SQL > UPDATE tpain SET nom_pain = 'Baguette',Array = Array WHERE id = 1
Unknown column 'Array' in 'field list'

Dove sbaglio?
 

Discussioni simili