[RISOLTO]oscurare momentaneamente oggetto del database

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Il problema sta nella variabile $dispo che è un array mentre deve essere un intero di valore 0 o 1.
Come hai chiamato il campo che si chiamava set? Credo dispo.
Allora la query dovrebbe essere così:
$sql = "UPDATE ".$table." SET ".$champ." = '".addslashes($nmodif)."', dispo = ".$dispo." WHERE id = ".$id[$idxid]."";
Ovviamente correggi prima il valore di $dispo che deve essere valere 0 o 1.
 

Fabrizio Villa

Utente Attivo
19 Gen 2013
131
0
16
ciao, grazie mille per la risposta...
mi dà questo errore adesso:

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

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Si dal tuo codice non si capisce cosa ci metti in $dispo. E' li il problema.
 

Fabrizio Villa

Utente Attivo
19 Gen 2013
131
0
16
ci sono riuscito, ora riesco a modificare il campo (è normale che lo 0 non si veda?)

Potresti aiutarmi per l'ultima cosa per favore?
Non riesco ad usare il WHERE in questa pagina:

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;			
}

Nella pagina di prima posso aggiungere o modificare il tipo di pane, grazie al vostro aiuto ora ho aggiunto il campo "dispo" di tipo "set" e riesco anche a modificarlo (0 o 1).
Ma non so dove mettere la variante WHERE...grazie!
 

Fabrizio Villa

Utente Attivo
19 Gen 2013
131
0
16
ciao!
scusa non riesco a spiegarmi.

Ho una pagina dove si possono sommare diversi ingredienti per formare un sandwich personalizzato.
Questo è il codice della pagina che appare all'utente e dove seleziona gli ingredienti:
PHP:
//Pain	
					
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;			
}
//Charcuterie
echo '</div></td></tr></table><br />
<div class="autorizzo">Dans le cas où l\'un des produits sélectionnés n\'etait pas disponible, nous autorisez-vous à le remplacer par un autre?<br />
<p class="PCentrer"><input type="radio" name="autorizzazione" value="OUI" checked="checked"/>OUI
                  <input type="radio" name="autorizzazione" value="NON" />NON</p></div>
      <table width="690" border="0" cellspacing="5" cellpadding="5">
      <tr>
      <td valign="top"><p class="titolo1">Charcuteries :</p><br />';	
foreach($tab['charcuterie'] as $id => $charcuterie)		
	echo ' <input type="checkbox" name="cbcharcuteries[]" value="'.$charcuterie.'" />'.$charcuterie.'<br />';	
//Fromages
echo '</td>
      <td valign="top"><p class="titolo1">Fromages :</p><br />';	
foreach($tab['fromage'] as $id => $fromage)		
	echo ' <input type="checkbox" name="cbfromages[]" value="'.$fromage.'" />'.$fromage.'<br />';	
//Garniture (inverser à l'affichage avec les diver en bas!!!)
echo '<br /><p class="titolo1">Divers :</p><br />';	
foreach($tab['garniture'] as $id => $garniture)		
	echo ' <input type="checkbox" name="cbgarnitures[]" value="'.$garniture.'" />'.$garniture.'<br />';	
//Divers
echo '</td><td valign="top"><p class="titolo1">Garnitures :</p><br />';	
foreach($tab['divers'] as $id => $divers)		
	echo ' <input type="checkbox" name="cbdivers[]" value="'.$divers.'" />'.$divers.'<br />';

Ora ho aggiunto il campo di tipo "set" chiamato "dispo" per tutte le tabelle degli ingredienti (quindi tpain, tfromages, tgarnitures etc)
Come faccio a usare il [WHERE dispo="1"] in un tipo di pagina come questa?
Cioè, nelle altre pagine ho il comando:
PHP:
$sql_pane = "SELECT * FROM tpane
            WHERE dispo='1'";

Grazie infinite, non so proprio come fare!
 

Fabrizio Villa

Utente Attivo
19 Gen 2013
131
0
16
questa è la pagina dove si compone il panino:
esempio.png

questa invece è la pagina admin dove si aggiungono o modificano gli ingredienti
esempio1.png
 

Fabrizio Villa

Utente Attivo
19 Gen 2013
131
0
16
dunque vicino al tipo di pane (seconda immagine) ho il valore 1 o 0 del campo dispo.
Ma come vedi su "Pain aux olives" ho messo il valore 0 ma appare ugualmente nella pagina (prima immagine)

Mi spiace torturavi cosî, scusatemi tanto...
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Puoi anche disabilitare il check se non è disponibile (ovviamente devi aggiungere altri controlli lato php perchè il check si potrebbe comunque abilitare).
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
se non ho capito male quello che vuoi fare, ti suggerirei di provare questo
PHP:
<?php
//.....
if(isset($_POST['modifica'])){
	$modificare=$_POST['dispo'];
	foreach($modificare as $id_mod => $val_mod){
		$query="UPDATE tpain SET disp='$val_mod' WHERE id='$id_mod'";
		$ris=mysqli_query($query);
	}
//....
}
//......
$query="SELECT * FROM tpain ORDER BY pain";
$ris=mysqli_query($query);
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
  <table width="60%"  border="0" cellspacing="0" cellpadding="3">
    <tr>
      <td width="64%">&nbsp;</td>
      <td colspan="2" align="center">disponibilit&agrave;</td>
    </tr>
    <tr>
      <td>tipo pane: </td>
      <td width="18%" align="center">SI</td>
      <td width="18%" align="center">NO</td>
    </tr>
<?php 
while($r=mysqli_fetch_array($ris)){
	$id=$r['id'];
	$tipo=$r['nom_pain'];
	$disp=$r['disp'];
	if($disp=="0"){$ch_0="$checked";$ch_1="";}else{$ch_0=="";$ch_1=="checked";}
	echo "<tr><td>$tipo</td>";
	echo "<td align=\"center\"><input name=\"dispo[$id]\" type=\"radio\" value=\"1\"$ch_1 ></td>";
	echo "<td align=\"center\"><input name=\"dispo[$id]\" type=\"radio\" value=\"0\"$ch_0 ></td>";
	echo "</tr>";
}
?>
	<tr><td>&nbsp;</td><td align="center">&nbsp;</td>
      <td align="center"><input name="modifica" type="submit" id="modifica" value="modifica"></td>
    </tr>
  </table>
</form>

in questo modo vedi se il pane è disponibile o no (il chek selezionato) e puoi rendere non disponibile o disponibile uno o più tipi di pane
non l'ho testato quindi ti conviene provarlo a parte
sappimi dire
 

Fabrizio Villa

Utente Attivo
19 Gen 2013
131
0
16
intanto grazie infinite! ho provato, ma è un po' complicato per me...
non capisco perchè non si possa fare come ho fatto in un'altra pagina dove semplicemente ho:
PHP:
$sql_pane = "SELECT * FROM tpane
            WHERE dispo='1'";

Quando metto dispo=0 sparisce e risolto il problema.
Non si può fare lo stesso con i check?

Se vuoi ti posto gli errori che mi ha dato con il tuo metodo...
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
intendi qui?
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;            
}
se si devi dire cosa c'è prima,
se per ottenere quella variabile $tab['pain'] interroghi il db basta che nella select tu aggiunga
o
WHERE disp='1'
o se c'è gia il vhere per qualcos'altro
AND disp='1'
in questo modo non ti appaiono i check se disp è 0


p.s.
si posta gli errori
 

Fabrizio Villa

Utente Attivo
19 Gen 2013
131
0
16
risolto!!!
mi è bastata la frase "dimmi cosa c'è prima..."
ho aggiunto WHERE dispo='1' e ora funziona!!!
grazie...ma forse avrò ancora bisogno...intanto grazie mille!!!!!
 

Fabrizio Villa

Utente Attivo
19 Gen 2013
131
0
16
ecco appunto..appena detto
ora funziona, però quando scrivo valore=1 (sul campo dispo) e poi clicco su MODIFICA mi ritorna il valore 0!
Ma perchè????
 

Fabrizio Villa

Utente Attivo
19 Gen 2013
131
0
16
ho sbagliato sicuramente qualcosa qui:
PHP:
if ($pass == false)	
		{
			$champ = 'nom_'.substr($table, 1);
			$nom = $_POST['nom_'.substr($table, 1)];
      $champs3 = 'dispo';
			$dispo = $_POST['tdispo'];
      $nom = $_POST[$champ];
			$pass = true; 
      
		}

e qui:

PHP:
else
		if (isset($champs3))
		{		
			for($i = 0; $i < count($nom); $i++)
			{
			
				$sql = "UPDATE ".$table." SET ".$champ." = '".addslashes($nom[$i])."', ".$champs3." = ".$dispo[$i]." WHERE id = ".$id[$i]."";
				mysql_query($sql) or die ("Erreur SQL > ".$sql."<br />".mysql_error()); 								
				$idxid++;
			}			
		}
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
metti un bel var_dump e verifica cosa ti risulta

PHP:
else
        if (isset($champs3))
        {        
            for($i = 0; $i < count($nom); $i++)
            {
                $sql = "UPDATE ".$table." SET ".$champ." = '".addslashes($nom[$i])."', ".$champs3." = ".$dispo[$i]." WHERE id = ".$id[$i]."";
                var_dump($sql); echo "<br />";// poi togli
				mysql_query($sql) or die ("Erreur SQL > ".$sql."<br />".mysql_error());                                 
                $idxid++;
            }            
        }
 

Fabrizio Villa

Utente Attivo
19 Gen 2013
131
0
16
Grazie infinite pper l'aiuto, veramente, senza non ci sarei mai arrivato...
cmq il problema era semplicemente che nelle impostazioni della tabella, il Length/Values di set l'avevo settato così: '0','1'
e invece bastava: '1'
:dipser:
grazie mille davvero!!!:fonzie:
 
Discussioni simili
Autore Titolo Forum Risposte Data
jwebcode [risolto] oscurare sito PHP 4
L (risolto) MySQL 0
B getElementById su piu id(Risolto) Javascript 7
L Esercitarsi con Js [RISOLTO] Javascript 4
C [RISOLTO]Inserimento variabile php in input html PHP 20
L risolto visualizzazione e ordinamento dati PHP 1
moustache [RISOLTO] SQL PHP IIS PHP 8
Sergio Unia Ricezione email con destinatari multipli [Risolto] PHP 2
L update tabelle in php mysql [risolto] PHP 6
M Semplice visualizzatore di immagini [risolto con plugin wp] PHP 7
L [RISOLTO] Stampa a video risultato count in html PHP 13
L [RISOLTO] Eliminare una discussione creata PHP 3
tomorc [HTML] Problema con scroll bar (risolto) HTML e CSS 0
A [PHP] Problema query insert [RISOLTO] PHP 14
B [PHP] recuperare IP dei server in load balancing [RISOLTO] PHP 3
K [RISOLTO] Problema Griglia Php+Mysql PHP 13
S [RISOLTO] aggiorna tabella da select option asp classic Classic ASP 7
elpirata [RISOLTO][Javascript] Datapicker e autocompletamento campo input Javascript 2
elpirata [RISOLTO][Mysql] Problema insert valori apostrofati MySQL 1
elpirata [RISOLTO][Mysql] Contare le occorrenze in un campo tipo varchar MySQL 2
G [MS Access] Gestione biglietti [RISOLTO] MS Access 2
G [MS Access] Casella combinata & Query [RISOLTO] MS Access 4
G [MS Access] Query mese corrente con conteggio [RISOLTO] MS Access 2
M [RISOLTO]Windows media player non mi funziona più su win 10 pro 64 bit Windows e Software 2
C [RISOLTO][PHP] Errore di sintassi PHP 8
IT9-Gpp [RISOLTO] Leggere variabile restituita da success Ajax 3
Kolop [RISOLTO][PHP] Problema Pagination PHP 2
C [RISOLTO][PHP] Funzione ONclick PHP 14
C [RISOLTO][PHP] Conteggio righe di una tabella PHP 4
N [PHP] Utilizzo variabili di sessione [Risolto] PHP 13
Tommy03 [RISOLTO][PHP] Webserver o devserver? PHP 2
Sergio Unia Recupero dati da una vecchia versione MySql [Risolto] MySQL 4
spider81man [PHP] Problemi cancellazione dato su DB [RISOLTO] PHP 1
A [RISOLTO]Inserimento Immagini da pc a MySql PHP 15
A [PHP] RISOLTO Invio Mail con Tabella PHP 2
felino Risolto - [Wordpress][WooCommerce] PayPal Checkout e campi di fatturazione WordPress 2
elpirata [PHP][RISOLTO] Sommare gli importi estratti da un ciclo while PHP 3
elpirata [PHP][RISOLTO] Effettuare la somma dei tempi di lavorazione PHP 3
elpirata [PHP] [RISOLTO]Sovrascrivere testo in una tabella PHP 2
A [RISOLTO]Recuperare dati inviati con json tramite php PHP 4
C [RISOLTO][PHP] Passaggio variabili senza refresh di pagina PHP 7
elpirata [PHP][RISOLTO] Errore di tipo Notice: Undefined index - Come risolvere quando si hanno tante var PHP 10
S Problema in PHP per invio file XML - RISOLTO- PHP 8
A [Javascript] [RISOLTO] Doppio "submit", in uno stesso "Form" , che puntino ad "action" diversi Javascript 1
marino51 [Risolto]videochat di messenger ha smesso di funzionare sul telefonino Smartphone e tablet 1
A [Javascript] [HTML] RISOLTO...Allungare un box all'apertura della pagina No Mouse over Javascript 9
ken_korn [Javascript][Risolto] browser.tab.Tabs.favIconUrl non funziona Javascript 5
A [RISOLTO] HighChart e PHP PHP 4
A [RISOLTO] PHP Selezionare tutti i file con stessa estensione PHP 2
A [RISOLTO] Table elaborata da codice PHP con dati da DB non visualizzata in IFRAME PHP 15

Discussioni simili