par
yoann38 » 08 juil. 2015, 23:34
Salut à tous.
Je vous expose mon soucis,
J'envoie en bdd via une variable un champ description et un champ city.
Il se peut que les titre et les ville comportent des apostrophes du coup j'utilise addslashe mais ca ressort de la façon suivante:
TOURS ET REMPARTS D
\'AIGUES-MORTES
du coup je me retrouve avec un
\ , c'est moche ...
Mon code:
la partie ou on traite:
// Récupération des données en fonction du tagname du XML
$titre = addslashes($item->name);
$price = $item->price;
$url_fnac = $item->deepLink;
$date_debut_sortie = $item->validFrom;
$date_fin_sortie = $item->validTo;
$street = addslashes($item->terms);
$photo = $item->largeImage;
$genre = $item->merchantCategoryPath;
// Code postal
$postcode = addslashes($item->extra2);
$pieces = explode(" | ", $postcode);
la partie de l'insert
// Association de la description en fonction du type de sorties
$assoc_concert = 'Votre concert avec '.$titre.', à '.$pieces[1].'. Un plaisir pour les oreilles,une sortie proposée par notre partenaire fnac, <a class="lien" href="'.$url_fnac.'">découvrez le descriptif complet.</a> ';
if ($id_type_loisirs == 10) {
$desc_genre = $assoc_concert; // Concert
}
// description
$description = addslashes($desc_genre);
$result = mysql_query("SELECT id_loisirs FROM loisirs WHERE titre = ".$titre.", city = ".$pieces[2].", postcode = ".$pieces[1].", date_debut_sortie = ".$dateDebut.", date_fin_sortie = ".$dateFin."");
if(mysql_num_rows($result) == 1){
//Entrée déjà existante
echo 'Cette entrée existe déjà';
}else{
// Pseudo libre
$sql = "INSERT INTO `matable` (id_simply_user,titre,price,photo,url_fnac,date_debut_sortie,horaire_debut,date_fin_sortie,horaire_fin,description,street,postcode,city,id_region,id_departements,id_type_loisirs,valide) VALUES ('$id_simply_user','$titre','$price','$photo','$url_fnac','$date_debut_sortie', '$heureDebut', '$date_fin_sortie', '$heurefin', '$description','$street','$pieces[0]','$pieces[1]','$region','$departement','$id_type_loisirs','$valide')";
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
echo 'Insertion en bdd';
}
// suite et fin du code ...
Merci à vous
Salut à tous.
Je vous expose mon soucis,
J'envoie en bdd via une variable un champ description et un champ city.
Il se peut que les titre et les ville comportent des apostrophes du coup j'utilise addslashe mais ca ressort de la façon suivante:
TOURS ET REMPARTS D[b]\[/b]'AIGUES-MORTES
du coup je me retrouve avec un [b]\[/b] , c'est moche ...
Mon code:
la partie ou on traite:
[php]// Récupération des données en fonction du tagname du XML
$titre = addslashes($item->name);
$price = $item->price;
$url_fnac = $item->deepLink;
$date_debut_sortie = $item->validFrom;
$date_fin_sortie = $item->validTo;
$street = addslashes($item->terms);
$photo = $item->largeImage;
$genre = $item->merchantCategoryPath;
// Code postal
$postcode = addslashes($item->extra2);
$pieces = explode(" | ", $postcode);[/php]
la partie de l'insert
[php]// Association de la description en fonction du type de sorties
$assoc_concert = 'Votre concert avec '.$titre.', à '.$pieces[1].'. Un plaisir pour les oreilles,une sortie proposée par notre partenaire fnac, <a class="lien" href="'.$url_fnac.'">découvrez le descriptif complet.</a> ';
if ($id_type_loisirs == 10) {
$desc_genre = $assoc_concert; // Concert
}
// description
$description = addslashes($desc_genre);
$result = mysql_query("SELECT id_loisirs FROM loisirs WHERE titre = ".$titre.", city = ".$pieces[2].", postcode = ".$pieces[1].", date_debut_sortie = ".$dateDebut.", date_fin_sortie = ".$dateFin."");
if(mysql_num_rows($result) == 1){
//Entrée déjà existante
echo 'Cette entrée existe déjà';
}else{
// Pseudo libre
$sql = "INSERT INTO `matable` (id_simply_user,titre,price,photo,url_fnac,date_debut_sortie,horaire_debut,date_fin_sortie,horaire_fin,description,street,postcode,city,id_region,id_departements,id_type_loisirs,valide) VALUES ('$id_simply_user','$titre','$price','$photo','$url_fnac','$date_debut_sortie', '$heureDebut', '$date_fin_sortie', '$heurefin', '$description','$street','$pieces[0]','$pieces[1]','$region','$departement','$id_type_loisirs','$valide')";
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
echo 'Insertion en bdd';
}
// suite et fin du code ...[/php]
Merci à vous