Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509

    [php]non ci capisco piu' nulla.

    ciao a tutti..
    mi sto disperando, ho iniziato da poco ..e mi sa che sto dimenticando qualcosa perchè non reisco ad uscirne alchè vorrei porvi questa domanda:

    se ho una serie di checkbox a cui attribuisco
    codice:
    name="equi[]" value="3"
    name="equi[]" value="5"
    name="equi[]" value="12"
    se vado a scrivere questo:
    codice:
    if (isset($_POST['equi']){
    	foreach ($_POST['equi'] as $id=>$value)
    		{$equi=$id;
    if ($equi!="0")
    	{$equir ="1";}
    //il mio problema sta qui 
    	$sqlequiquery=("INSERT INTO auto (id) VALUES ('$equir')");
    	if (mysql_query($sqlequiquery,$db))
    		{
    		echo ("ok");
    		}
    else { echo ("errore ".mysql_error()." ".mysql_errno());}
    	}
    		}
    se non mi sto sbagliando su cio' che ho tentato di scrivere dovrebbe verificarsi questo:
    se un checkbox viene selezionato, per ogni checkbox attribuisco un id che è value. quidni attribuisco ad $equi il valore di $id.
    se $equi risulta impostato attribuisco alla variabile $equir la costante uno.
    in questo modo in teoria per ogni checkbox selezionato dovrebbe risultare il valore 1 da mettere nel db...
    ora devo mettere questi uno nelle celle corrispondenti che hanno come nome lo stesso di VALUE.
    per farlo pensavo di mettere "id" priam di VALUES solo che logicamente non è la dicitura giusta.
    come posso fare? qualcuno mi piò aiutare? sto andando via di testa

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509
    questo è l'errore che mida..purtroppo non son molto esperto. mi potete aiutare?
    codice:
    2   errore 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 ''2') VALUES ('')' at line 1 1064 
    
    39  errore 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 ''39') VALUES ('1')' at line 1 1064
    i valori in rosso sono i value dei checkbox che diventeranno i nomi delle celle
    codice:
      2  |  12  |  39  |  14  |
    ---------------------------
      0  |   1  |  1   |   0  |
      0  |   0  |  1   |   1  |
      1  |   1  |  0   |   0  |
    questo è un esempio di come vorrei che risultasse la tabella finale
    tenendo presente che parto da questo
    codice:
    <input type="checkbox" name="equi[]"  value="2"> blabla
    <input type="checkbox" name="equi[]"  value="12"> blabla
    <input type="checkbox" name="equi[]"  value="39"> blabla
    grazie a tutti per il possibile interessamento.

  3. #3
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    prova ad eliminare gli apici

    codice:
    $sqlequiquery=("INSERT INTO auto (id) VALUES ('$equir' )");

    con

    codice:
    $sqlequiquery=("INSERT INTO auto (id) VALUES ($equir)");
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509
    avevo gia provato questa soluzione...solo che a quel punto mi dice che non non esiste nessuna tabella con il nome id...in effetti a me non serve id ma il valore che è associato ad esso...

    in realtà dovrei scrivere
    INSERT INTO auto (15) VALUES (1)
    INSERT INTO auto (39) VALUES (0)
    e cosi via...l'uno e lo zero li ho sostituiti con $value
    ma sostituire 15 e 39 con qualcosaltro non ci reisco...
    mi viene il dubbio che non posso attribuire dei valori numerici...ma a quel punto non potrei nemmeno contruire tabbelle con un nome numerico come ho gia fatto..
    non penso che sql ti permetta di fare un create table 15 e non fare un insert...

  5. #5
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    ammetto che non capisco la tabella come è fatta
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509
    CREATE TABLE `auto` (
    `sellid` decimal(10,0) NOT NULL default '0',
    `carid` varchar(20) NOT NULL default '',
    `carphoto` varchar(20) default NULL,
    `make` varchar(40) default NULL,
    `model` varchar(40) default NULL,
    `version` varchar(40) default NULL,
    `bodytype` varchar(40) default NULL,
    `bodycolor` varchar(40) default NULL,
    `bodycolorfree` varchar(40) NOT NULL default '',
    `bodycolormetallic` varchar(40) NOT NULL default '',
    `cartype` varchar(40) NOT NULL default '',
    `gearingtype` varchar(40) NOT NULL default '',
    `fueltype` varchar(40) NOT NULL default '',
    `mileage` varchar(40) NOT NULL default '',
    `firstregmonth` varchar(40) NOT NULL default '',
    `firstregyear` varchar(40) NOT NULL default '',
    `power` varchar(40) NOT NULL default '',
    `publicprice` varchar(40) NOT NULL default '',
    `dealerprice` varchar(40) NOT NULL default '',
    `equi` varchar(40) NOT NULL default '',
    `doors` varchar(40) NOT NULL default '',
    `seats` varchar(40) NOT NULL default '',
    `ccm` varchar(40) NOT NULL default '',
    `cylinder` varchar(40) NOT NULL default '',
    `kw` varchar(40) NOT NULL default '',
    `gears` varchar(40) NOT NULL default '',
    `trans_id` varchar(40) NOT NULL default '',
    `weight` varchar(40) NOT NULL default '',
    `inspectionmonth` varchar(40) NOT NULL default '',
    `inspectionyear` varchar(40) NOT NULL default '',
    `interiorcolor` varchar(40) NOT NULL default '',
    `telaio` varchar(40) NOT NULL default '',
    `warranty` varchar(40) NOT NULL default '',
    `carnumber` varchar(40) NOT NULL default '',
    `dealerremarks` text NOT NULL,
    `remarks` text NOT NULL,
    `taxes` varchar(40) NOT NULL default '',
    `crash` varchar(40) NOT NULL default '',
    `5` tinyint(1) NOT NULL default '0',
    `30` tinyint(1) NOT NULL default '0',
    `6` tinyint(1) NOT NULL default '0',
    `13` tinyint(1) NOT NULL default '0',
    `23` tinyint(1) NOT NULL default '0',
    `16` tinyint(1) NOT NULL default '0',
    `4` tinyint(1) NOT NULL default '0',
    `34` tinyint(1) NOT NULL default '0',
    `10` tinyint(1) NOT NULL default '0',
    `9` tinyint(1) NOT NULL default '0',
    `36` tinyint(1) NOT NULL default '0',
    `1` tinyint(1) NOT NULL default '0',
    `2` tinyint(1) NOT NULL default '0',
    `3` tinyint(1) NOT NULL default '0',
    `32` tinyint(1) NOT NULL default '0',
    `39` tinyint(1) NOT NULL default '0',
    `17` tinyint(1) NOT NULL default '0',
    `18` tinyint(1) NOT NULL default '0',
    `26` tinyint(1) NOT NULL default '0',
    `31` tinyint(1) NOT NULL default '0',
    `42` tinyint(1) NOT NULL default '0',
    `11` tinyint(1) NOT NULL default '0',
    `28` tinyint(1) NOT NULL default '0',
    `15` tinyint(1) NOT NULL default '0',
    `27` tinyint(1) NOT NULL default '0',
    `19` tinyint(1) NOT NULL default '0',
    `12` tinyint(1) NOT NULL default '0',
    `38` tinyint(1) NOT NULL default '0',
    `20` tinyint(1) NOT NULL default '0'
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 PACK_KEYS=0;

  7. #7
    Utente di HTML.it L'avatar di fabi080
    Registrato dal
    Mar 2002
    Messaggi
    442
    Come già detto altre volte, non è una buona abitudine chiamare tabelle con numeri, perchè poi ti possono creare problemi simili a questo, usa nomi tipo _35 o c35 o quello che ti pare basta che non usi nomi strani, o che, come in questo caso, sono interpretati da mysql come valori interi.

    Cmq nel tuo caso per usare i nomi attuali delle tabelle basta che racchiudi il nome de campo tra backticks (`) che si fanno con Alt+96.

    Es. INSERT INTO `35` VALUES (1)

  8. #8
    Utente di HTML.it L'avatar di chris
    Registrato dal
    Sep 1999
    Messaggi
    1,568
    "Nei prossimi tre anni col mio governo vogliamo vincere anche il cancro, che colpisce ogni anno 250.000 italiani e riguarda quasi due milioni di nostri concittadini"

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509
    ops. sorry :P
    pero' se non altro ho scritto [php]

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.