Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/11/2010, 19h36   #1
Invité de passage
 
Inscription : juillet 2009
Messages : 7
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 7
Points : 0
Points : 0
Par défaut Insertion de valeurs checkbox (PHP/MySQL)

Salut,
Tout d'abord j'espère que vous pardonnerez mes lacunes: je débute :-°

Je cherche à modifier un script PHP de petites annonces.

Actuellement, le script ne permet que de poster dans une seule ville, mais je cherche à mettre en place une checkbox qui permettrait de sélectionner plusieurs villes pour qu'y soit postée la même annonce..

En ce qui concerne la checkbox, je devrais avoir ceci:

Code :
1
2
3
4
5
6
7
8
<html>
<body>
<form method="post" action="post.php">
<input type="checkbox" name="cityid[]" value="1"> Brest <br />
<input type="checkbox" name="cityid[]" value="2"> Paris <br />
</form>
</body>
</html>

Je vous épargne le code très long pour ne poster ici que l'extrait qui m'intéresse:
Code :
1
2
3
4
5
6
7
8
9
 
$sql = "INSERT INTO $t_ads 
				SET adtitle = '$data[adtitle]',
				addesc = '$data[addesc]',
				cityid = $xcityid,
				createdon = NOW(),
				timestamp = NOW(),";
 
	mysql_query($sql) or die($sql.mysql_error());


Je pense que le bout de code ci-dessus (cityid = $xcityid) est à modifier, et c'est ici que mes connaissances limitées me bloquent...

J'ai bien essayé d'intégrer le code suivant:


Code :
1
2
3
4
5
6
7
8
<?php
if(isset($_POST['cityid']))
{
foreach($_POST['cityid'] as $value){
$insert=mysql_query("INSERT INTO $t_ads('cityid') VALUES ('$value')");
}
}
?>

...mais sans succès. Je dois être à côté de la plaque.
Merci d'avance à ceux qui m'apporteront leur aide.
Starmagh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2010, 19h40   #2
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 815
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 815
Points : 3 440
Points : 3 440
Citation:
Envoyé par Starmagh Voir le message
$insert=mysql_query("INSERT INTO $t_ads('cityid') VALUES ('$value')");
La requête est mal formée, un nom de champ (ici cityid) ne doit pas être encadré de '.

Citation:
...mais sans succès.
Message d'erreur ? Autre ?

En tout cas je suis étonné de l'usage fait de ta table $t_ads, es-tu sûr que tu pourras y stocker plusieurs villes pour une même annonce ?
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2010, 20h32   #3
Invité de passage
 
Inscription : juillet 2009
Messages : 7
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 7
Points : 0
Points : 0
Citation:
Envoyé par Séb. Voir le message
Message d'erreur ? Autre ?
Merci pour ta réponse.
Lorsque je coche les checkbox, en cliquant sur submit j'ai l'erreur suivante:
Fatal error: Unsupported operand types
qui envoie vers une fonction qui apparemment teste la nature numérique de la valeur entrée:
Code :
1
2
3
4
5
6
7
8
9
	function check_numeric($var) {
		if(isset($var)) {
			if ($var == "") {
				$var = 0;
			} else if(strval(0+$var) !== "{$var}")  {
				handle_security_attack();
			}
		}
	}
Citation:
Envoyé par Séb. Voir le message
En tout cas je suis étonné de l'usage fait de ta table $t_ads, es-tu sûr que tu pourras y stocker plusieurs villes pour une même annonce ?
Je crois que tu as raison. En fait je devrais plutôt stocker une annonce pour chaque ville.

J'y suis parvenu en faisant plusieurs insert (en rensignant manuellement les ID des villes, de la manière -basique- suivante:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
	$sql = "INSERT INTO $t_ads 
				SET adtitle = '$data[adtitle]',
					addesc = '$data[addesc]',
					cityid = 1,
					createdon = NOW(),
					timestamp = NOW(),";
	}
 
	mysql_query($sql) or die($sql.mysql_error());
 
        $sql2 = "INSERT INTO $t_ads 
				SET adtitle = '$data[adtitle]',
					addesc = '$data[addesc]',
					cityid = 2,
					createdon = NOW(),
					timestamp = NOW(),";
	}
 
	mysql_query($sql2) or die($sql2.mysql_error());

Mais comment le faire à partir de checkboxes ?
Starmagh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2010, 21h15   #4
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 815
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 815
Points : 3 440
Points : 3 440
Citation:
Envoyé par Starmagh Voir le message
Lorsque je coche les checkbox, en cliquant sur submit j'ai l'erreur suivante:
Fatal error: Unsupported operand types
Extrait du script en cause ?

Citation:
qui envoie vers une fonction qui apparemment teste la nature numérique de la valeur entrée:
Code :
1
2
3
4
5
6
7
8
9
	function check_numeric($var) {
		if(isset($var)) {
			if ($var == "") {
				$var = 0;
			} else if(strval(0+$var) !== "{$var}")  {
				handle_security_attack();
			}
		}
	}
Me semble louche cette fonction


Citation:
Je crois que tu as raison. En fait je devrais plutôt stocker une annonce pour chaque ville.
Il faut créer un table supplémentaire pour ta relation :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
annonces
---------------
annonce_id
annonce_texte
etc.
 
villes
---------------
ville_id
ville_nom
etc.
 
villes_annonces
---------------
ville_annonce_annonce
ville_annonce_ville
Ainsi une annonce pourra avoir de 0 à X villes rattachées.
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 21/11/2010, 22h54   #5
Invité de passage
 
Inscription : juillet 2009
Messages : 7
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 7
Points : 0
Points : 0
Citation:
Envoyé par Séb. Voir le message
Il faut créer un table supplémentaire pour ta relation :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
annonces
---------------
annonce_id
annonce_texte
etc.
 
villes
---------------
ville_id
ville_nom
etc.
 
villes_annonces
---------------
ville_annonce_annonce
ville_annonce_ville
Ainsi une annonce pourra avoir de 0 à X villes rattachées.
Merci pour ton aide. Si j'ai bien compris, je crée donc une table similaire à t_ads. La syntaxe m'échappe quelque peu.

Pour créer t_ads, j'ai:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
$sqls[$t_ads] = "CREATE TABLE `$t_ads` (
  `adid` int unsigned NOT NULL auto_increment,
  `adtitle` varchar(100) NOT NULL default '',
  `addesc` longtext NOT NULL,
  `area` varchar(50) NOT NULL default '',
  `email` varchar(50) NOT NULL default '',
  `showemail` enum('0','1','2') NOT NULL default '0',
  `password` varchar(50) NOT NULL default '',
  `code` varchar(35) NOT NULL default '',
  `cityid` smallint unsigned NOT NULL default '0',
  `subcatid` smallint unsigned NOT NULL default '0',
  `price` DECIMAL( 10, 2 ) NOT NULL default '0',
  `othercontactok` enum('0','1') NOT NULL default '0',
  `hits` int unsigned NOT NULL default '0',
  `ip` varchar(15) NOT NULL default '',
  `verified` enum('0','1') NOT NULL default '0',
  `abused` int unsigned NOT NULL default '0',
  `enabled` enum('0','1') NOT NULL default '0',
  `createdon` datetime NOT NULL default '0000-00-00 00:00:00',
  `expireson` datetime NOT NULL default '0000-00-00 00:00:00',
  `timestamp` timestamp(14) NOT NULL,
  PRIMARY KEY  (`adid`),
  KEY `subcatid` (`subcatid`),
  KEY `cityid` (`cityid`),
  KEY `verified` (`verified`),
  KEY `enabled` (`enabled`)
) TYPE=MyISAM;";
Ceci est le contenu complet de la table, je l'ai tronquée toute à l'heure dans l'INSERT pour faire court.
Malheureusement, je ne saisis pas bien comment la table que je créerais, pourrait contenir plusieurs villes pour une même annonce.
Pardonne mon ignorance
Starmagh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2010, 23h20   #6
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 815
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 815
Points : 3 440
Points : 3 440
Que vaut la variable $t_ads ?


Citation:
Malheureusement, je ne saisis pas bien comment la table que je créerais, pourrait contenir plusieurs villes pour une même annonce.
Exemple :

villes (id, nom) :
1, Paris
2, Lyon

annonces (id, texte) :
1, Loue appart sur Paris
2, Achète maison sur régions parisienne ou lyonnaise

annonces_villes (annonce, ville) :
1, 1
2, 1
2, 2

La table annonces_villes contient 3 enregistrements :
Le 1er fait le lien entre l'annonce de location et Paris
Le 2e fait le lien entre l'annonce d'achat et Paris
Le 3e fait le lien entre l'annonce d'achat et Lyon
La 1re annonce est liée à 1 ville, la 2e annonce à 2 villes
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 14h29   #7
Invité de passage
 
Inscription : juillet 2009
Messages : 7
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 7
Points : 0
Points : 0
Merci Séb.
J'ai créé la table, je ne parviens pas à y entrer des données, mais ce qui me tracasse le plus c'est la gestion dans l'url de ces différentes villes où se trouve l'annonce.

Par défaut, pour une seule ville, nous avons une url de type:
http://test.com/index.php?view=showad&adid=1&cityid=1

Si je poste une seule et même annonce dans plusieurs villes, n'aurais-je pas théoriquement plusieurs valeurs dans l'url après cityid= ?

Je ne pense pas que le script pourrait gérer ça. Il faudrait sans doute réécrire une bonne partie du code.

Crois-tu qu'il serait possible, toujours à partir d'un checkbox, de publier la même annonce dans plusieurs villes ? Comme indiqué plus haut, j'y suis parvenu en faisant plusieurs INSERT INTO successifs dans lesquels seul changeait la valeur de cityid, mais pas avec des checkboxes.

En fait je cherche à faire ceci:

Pour chaque checkbox cochée, exécuter l'INSERT suivant:
Code :
1
2
3
4
5
6
7
8
9
$sql = "INSERT INTO $t_ads 
				SET adtitle = '$data[adtitle]',
					addesc = '$data[addesc]',
					cityid = $xcityid,
					createdon = NOW(),
					timestamp = NOW(),";
	}
 
	mysql_query($sql) or die($sql.mysql_error());
..où seul changerait la valeur de $xcityid, en fonction de l'id de la ville, sélectionnée par checkbox.
Starmagh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 16h19   #8
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 815
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 815
Points : 3 440
Points : 3 440
Citation:
J'ai créé la table, je ne parviens pas à y entrer des données
Faut faire autant de requêtes INSERT qu'il y a de villes pour une annonce, pas de raison que ça bloque.

Citation:
ce qui me tracasse le plus c'est la gestion dans l'url de ces différentes villes où se trouve l'annonce.

Par défaut, pour une seule ville, nous avons une url de type:
http://test.com/index.php?view=showad&adid=1&cityid=1

Si je poste une seule et même annonce dans plusieurs villes, n'aurais-je pas théoriquement plusieurs valeurs dans l'url après cityid= ?
Pourquoi envoyer un cityid ? A priori inutile pour afficher une annonce puisque tu as le adid permettant de l'identifier.

Citation:
Je ne pense pas que le script pourrait gérer ça. Il faudrait sans doute réécrire une bonne partie du code.
Euh vraiment je ne vois pas pourquoi. Au pire c'est juste la requête qu'il faut compléter et la boucle récupérant/affichant les données à revoir, mais pas de travail titanesque en vue.

Citation:
Crois-tu qu'il serait possible, toujours à partir d'un checkbox, de publier la même annonce dans plusieurs villes ? Comme indiqué plus haut, j'y suis parvenu en faisant plusieurs INSERT INTO successifs dans lesquels seul changeait la valeur de cityid, mais pas avec des checkboxes.
Oui.

Citation:
En fait je cherche à faire ceci:
C'est moche car ta bdd stocke des données redondantes, et puis en cas de màj ou de suppression de l'annonce tu vas galérer...
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 17h24   #9
Invité de passage
 
Inscription : juillet 2009
Messages : 7
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 7
Points : 0
Points : 0
Citation:
Envoyé par Séb. Voir le message
Faut faire autant de requêtes INSERT qu'il y a de villes pour une annonce, pas de raison que ça bloque.
avec ça ?
Code :
1
2
3
4
5
6
7
if(isset($_POST['cityid']))
			{
				foreach($_POST['cityid'] as $value)
				{
					$insert=mysql_query("INSERT INTO xclf_ads_cities(adid,cityid) VALUES ('$adid','$value')");
				}
			}
J'ai créé ma nouvelle table ainsi:
Code :
1
2
3
4
5
6
7
8
9
CREATE TABLE `$t_ads_cities` (
  `adid` int unsigned NOT NULL auto_increment,
  `cityid` smallint unsigned NOT NULL default '0',
  `enabled` enum('0','1') NOT NULL default '0',
  `timestamp` timestamp(14) NOT NULL,
  PRIMARY KEY  (`adid`),
  KEY `cityid` (`cityid`),
  KEY `enabled` (`enabled`)
) TYPE=MyISAM;

Citation:
Envoyé par Séb. Voir le message
Pourquoi envoyer un cityid ? A priori inutile pour afficher une annonce puisque tu as le adid permettant de l'identifier.
Je te montrerais bien un exemple sur mon site de test si tu voulais. En l'absence de cityid dans l'url, le lien n'envoie plus vers l'annonce.


Citation:
Envoyé par Séb. Voir le message
Oui.
Ok, mais aurais-tu un exemple concret s'il te plaît ? Je n'attends pas de trouver le code complet, mais cette aide me permettrait de corriger mes erreurs et d'effacer quelque lacunes (elles sont légion, suis débutant).
Starmagh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 18h32   #10
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 815
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 815
Points : 3 440
Points : 3 440
Citation:
Je te montrerais bien un exemple sur mon site de test si tu voulais. En l'absence de cityid dans l'url, le lien n'envoie plus vers l'annonce.
Pourquoi ?

Citation:
Ok, mais aurais-tu un exemple concret s'il te plaît ? Je n'attends pas de trouver le code complet, mais cette aide me permettrait de corriger mes erreurs et d'effacer quelque lacunes (elles sont légion, suis débutant).
Montre comment tu fais actuellement, afin qu'on puisse adapter avec des checkboxes.
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 19h45   #11
Invité de passage
 
Inscription : juillet 2009
Messages : 7
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 7
Points : 0
Points : 0
Citation:
Envoyé par Séb. Voir le message
Pourquoi ?
La structure de l'url est spécifiée dans une fonction qui la construit. Du genre:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
function buildURL($type, $p=array(), $force_qs=FALSE) {
    global $sef_urls, $sef_word_separator, $vbasedir;
    $sep = $sef_word_separator;
 
switch ($type)
        {
         case "ads":
         case "posts":
                $url = "?view=ads&catid={$p[1]}&subcatid={$p[3]}&cityid={$p[0]}" . pageParam($p[5]);
                break;
                if ($url{0} == "?") $url = "index.php{$url}";
 
        return $url;
        }
Citation:
Envoyé par Séb. Voir le message
Montre comment tu fais actuellement, afin qu'on puisse adapter avec des checkboxes.
Actuellement, j'interviens seulement sur la requête qui insert l'annonce dans la base. Comme je ne sais pas le faire avec des checkbox, je ne peux que poster une annonce dans TOUTES les villes, sans possibilité donc d'en choisir que quelques unes.

Par défaut, on arrive d'abord sur une page sur laquelle on sélectionne la ville dans laquelle on va poster l'annonce. En cliquant sur le lien d'une des villes, on vient de sélectionner $xcityid.

extrait de cette page:
Code :
1
2
3
4
5
6
7
8
9
10
11
<?php
 
		$sql = "SELECT * FROM $t_cities ct WHERE countryid = $country[countryid] AND enabled = '1' $sort2";
		$resct = mysql_query($sql);
 
		while($city=mysql_fetch_array($resct))
		{
 
		?>
 
		<li><a href="?<?php echo $citylink_view; ?>&cityid=<?php echo $city['cityid']; ?>&lang=<?php echo $xlang; ?>&catid=<?php echo $_GET['catid']; ?>&subcatid=<?php echo $_GET['subcatid']; ?>"><?php echo $city['cityname']; ?></a></li>
Une fois la ville sélectionnée, on arrive sur une 2e page (post.php) sur laquelle:
On sélectionne la catégorie (catid) puis la sous-catégorie (subcatid).
Ceci fait, toujours dans post.php, on rédige l'annonce.
Avec ma modif (à 2 balles j'en suis conscient), l'annonce, en cliquant sur submit, ne va pas se poster dans une ville, mais dans toutes à la fois.
Car au lieu d'une requête, avec le $xcityid correspondant à ce que l'on a choisi dans la page précédente, j'en ai plusieurs:

au lieu de:
Code :
1
2
3
4
5
6
7
8
9
$sql = "INSERT INTO $t_ads 
				SET adtitle = '$data[adtitle]',
					addesc = '$data[addesc]',
					cityid = $xcityid,
					createdon = NOW(),
					timestamp = NOW(),";
	}
 
	mysql_query($sql) or die($sql.mysql_error());
j'ai:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$sql = "INSERT INTO $t_ads 
				SET adtitle = '$data[adtitle]',
					addesc = '$data[addesc]',
					cityid = 1,
					createdon = NOW(),
					timestamp = NOW(),";
	}
 
	mysql_query($sql) or die($sql.mysql_error());
 
$sql2 = "INSERT INTO $t_ads 
				SET adtitle = '$data[adtitle]',
					addesc = '$data[addesc]',
					cityid = 2,
					createdon = NOW(),
					timestamp = NOW(),";
	}
 
	mysql_query($sql2) or die($sql2.mysql_error());
Je préremplis direct dans la page post.php les ID de cityid
C'est nul, mais ça fonctionne.

J'aimerais, au lieu de ça, utiliser un checkbox dans la page précédente.
Starmagh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2010, 00h54   #12
Invité de passage
 
Inscription : juillet 2009
Messages : 7
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 7
Points : 0
Points : 0
Voici quelques nouvelles du front.

Après quelques tests/recherches, il est tout à fait possible de "multiposter" une annonce tout en permettant au dit annonceur d'éditer/supprimer ses annonces par un seul et même lien. Multiposter signifie ici "dupliquer", mais en attribuant à chaque annonce une url différente, puisque l'élément cityid, présent dans l'url, change en fonction de la ville.

Au départ je pensais que poster une annonce sur 50 villes -par cette technique- obligerait à éditer 50 liens.
Mais il et possible de rationaliser la chose: pour se faire, il est nécessaire, dans mon cas, de créer une nouvelle colonne dans la table $t_ads qui stipulera les annonces qui ont été postées via l'option "multipost" ou alors d'effectuer une recherche sur les annonces qui ont été postées avec le même titre et au même instant, et effectuer un update de masse sur ces adid. Ainsi, un seul lien éditerait toutes les annonces postées, mais je m'égare, car ce n'est pas l'objet de ma demande d'aide:

Concrêtement:
Admettons que je poste une annonce en choisissant plusieurs villes de parution. Je bascule donc du mode classique (ie prévu par le script que j'utilise, c'est à dire poster une annonce dans une ville déterminée), vers le mode "multipost" qui nous intéresse. Je choisis 2 villes au lieu d'une. Je cocherais donc, pour se faire, les 2 cases correspondant aux deux villes choisies. C'est le checkbox que je tente de faire.

J'effectue 2 requêtes INSERT INTO pour ces deux villes. L'annonce est donc publiée 2 fois, mais avec 2 id de villes différents: les urls sont donc différentes, ce qui rend également différentes (par un bout de code) les balises <title> et meta pour ces deux annonces, et même -en partie- le titre de l'annonce, et le début/ou/la fin de la description de l'annonce, ceci afin de limiter l'effet de "duplicate content" au niveau des moteurs de recherche.

exemple:


Comme on peut le constater ci-dessus, plusieurs requête quasi identiques (en changeant seulement, à chaque fois, la valeur de cityid) permettent de poster x fois la même annonce -sauf que, bien entendu, cityid change à chaque fois...

Pour réaliser l'exemple ci-dessus, j'ai besoin de connaître la manière d'effectuer, pour chaque case cochée (checkbox) un INSERT INTO. J'ai effectué des recherches à ce sujet, en vain. Un grand merci à celui/celle qui me mettra sur la piste...

Je dois, à partir du formulaire suivant:
Code :
1
2
3
4
5
6
7
8
<form method="post" action="post.php">
<input type="checkbox" name="cityid[]" value="1">Sevilla <br />
<input type="checkbox" name="cityid[]" value="2">Torremolinos <br />
<input type="checkbox" name="cityid[]" value="3">Malaga <br />
<input type="checkbox" name="cityid[]" value="4">Brest <br />
<input type="checkbox" name="cityid[]" value="5">Paris <br />
<input type="submit" name="submit" value="submit">
</form>
si Sevilla (id 1) et Brest (id 4) sont cochés,

exécuter, grâce à un code mettant en oeuvre des checkboxes, la requête suivante:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$requete_sevilla = "INSERT INTO $t_ads 
				SET adtitle = '$data[adtitle]',
					addesc = '$data[addesc]',
					cityid = 1,
					createdon = NOW(),
					timestamp = NOW(),";
	}
 
	mysql_query($requete_sevilla) or die($requete_sevilla.mysql_error());
 
 
$requete_brest = "INSERT INTO $t_ads 
				SET adtitle = '$data[adtitle]',
					addesc = '$data[addesc]',
					cityid = 4,
					createdon = NOW(),
					timestamp = NOW(),";
	}
 
	mysql_query($requete_brest) or die($requete_brest.mysql_error());
Merci pour votre aide !!
Starmagh est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h07.


 
 
 
 
Partenaires

Hébergement Web