Comment dans un INSERT SQL, entrer seulement les 2ers chiffres d'un code postal?

gnut Messages postés 69 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 24 mai 2011 - 15 sept. 2010 à 16:56
siatu Messages postés 10 Date d'inscription mardi 14 septembre 2010 Statut Membre Dernière intervention 17 septembre 2010 - 17 sept. 2010 à 11:39
J'ai vu plusieurs fois LEFT($cd,2) mais ça ne fonctionne pas dans mon INSERT.

Voici le code :

<?php

//////varible/////
$de = (string)$Agence->Annonce->CodePostal;

//////l' INSERT///////

mysql_query("INSERT INTO annonces (ref_annonce_client,     id_reg,     id_dep,     id_cat,     email,     password,     ville,     code_pos,     status,     soc_nom,     soc_siren,     type,     nom,     tel,     titre,     radio,     ann,     prix,     Kilométrage,     Année_Modéle,     Cylindrée,     Surface,     Piéces,     Capacité,     random_code,     confirm,     valid,     date,     tel_cache,     ip, url_pho1, url_pho2 ,url_pho3 , url_pho4, url_pho5 )  VALUES  ('$ref',     '$re',     'LEFT($de,2)',     '$Typeann',     '$mail ',     '$password',     '$Vil',     '$cod',     '$sta',     '$nom',     '',     '1',     '$nom',     '$telag',     '$titre',     '$ra',     '$desc',     '$pri',     '',     '',     '',     '$surf',     '$nbpiece',     '',     '$rand',     '$conf',     '$val',     '$time',     'N',     '$ipadresse', '$pho1', '$pho2', '$pho3', '$pho4', '$pho5')")
or die("Erreur MySQL : ".mysql_error());

?>
A voir également:

4 réponses

neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
15 sept. 2010 à 17:31
Salut,

Il faut peut-être traiter $cd comme une chaîne de caractères, donc lui mettre des guillemets simples autour...
Non ?

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
0
gnut Messages postés 69 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 24 mai 2011
15 sept. 2010 à 18:02
Merci encore Neige, en effet, il faut peut-être...
mais je ne savais pas si c'était :

LEFT('$de',2)

ou

'LEFT($de,2)'

c'est bête mais ça ne se devine pas.

Bien à toi.
0
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
15 sept. 2010 à 18:21
C'est la chaîne de caractères qu'il faut mettre entre guillemets, pas la fonction.
Une fonction MySQL pour peu qu'on lui fournisse les arguments qui lui conviennent retournera ce qu'il faut pour que MySQL puisse traiter le résultat.
Donc c'est $de que tu mets entre guillemets, pas l'ensemble.
Pis pour savoir... suffit d'essayer ;)

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
0
siatu Messages postés 10 Date d'inscription mardi 14 septembre 2010 Statut Membre Dernière intervention 17 septembre 2010
17 sept. 2010 à 11:39
Bonjour,
Je vous propose de faire appeler la fonction php substr() comme ça:

$de = (string)$Agence->Annonce->CodePostal;
$str=substr($de,1,2);
puis met $str à la place de LEFT($de,2) dans la requette .
0
Rejoignez-nous