Explode

Résolu/Fermé
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 - 21 nov. 2013 à 11:57
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 - 21 nov. 2013 à 14:30
Bonjour,

Je récupère un champs date dans ma base. Comme ce champs peut contenir les mots "Avant", "Après" ou "Vers" suivi d'une date, je veux isoler la date.
Donc je fais un "explode" :
$select = "SELECT * FROM mariage_ville"; 	
$result = mysql_query($select,$link) or die(mysql_error()."\n".$select);

while($row = mysql_fetch_array($result))
{
$date_mariage = $row['date_mariage'];

$date_mariage = explode(" ", $date_mariage);
if ($date_mariage[0] = "Avant" || $date_mariage[0] = "Après" || $date_mariage[0] = "Vers")
{ $resultat=mysql_query('UPDATE mariage_ville SET date_marg_1=$date_mariage[0], date_marg_2=$date_mariage[1]$date_mariage[2]$date_mariage[3] WHERE id = "'.$row['id'].'"'); }
}
Mais rien ne fonctionne, et je n'ai pas de message d'erreur ....

4 réponses

ghFrankfurt Messages postés 207 Date d'inscription mardi 16 novembre 2010 Statut Membre Dernière intervention 10 décembre 2014 23
21 nov. 2013 à 12:13
Bonjour,

As tu essayé de faire un echo de la requête query et de la faire directement dans mysql?
0
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 11
21 nov. 2013 à 12:29
Ce que j'ai testé, c'est que $date_mariage[0] existe bien.
C'est donc l'UPDATE qui ne fonctionne pas .............. !!!!!
0
ghFrankfurt Messages postés 207 Date d'inscription mardi 16 novembre 2010 Statut Membre Dernière intervention 10 décembre 2014 23
21 nov. 2013 à 12:30
Peut-tu nous montrer à quoi ressemble la requête?
0
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 11
Modifié par t671 le 21/11/2013 à 12:40
if ($date_mariage[0] = "Avant" || $date_mariage[0] = "Après" || $date_mariage[0] = "Vers")
{
$resultat=mysql_query('UPDATE mariage_ville SET date_marg_1=$date_mariage[0], date_marg_2=$date_mariage[1]$date_mariage[2]$date_mariage[3] WHERE id = "'.$row['id'].'"');
}
0
ghFrankfurt Messages postés 207 Date d'inscription mardi 16 novembre 2010 Statut Membre Dernière intervention 10 décembre 2014 23
21 nov. 2013 à 13:28
Je veux dire la requête query.
Donc si tu fais
$qry = "UPDATE ...";
echo $qry; //ceci
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
21 nov. 2013 à 13:44
Bonjour,
if ($date_mariage[0] = "Avant" || $date_mariage[0] = "Après" || $date_mariage[0] = "Vers")

Il faut utiliser des double-égal ! « == » au lieu de « = ».
Parce que là, dans ton « if » tu changes la valeur de $date_mariage[0]...
0
ghFrankfurt Messages postés 207 Date d'inscription mardi 16 novembre 2010 Statut Membre Dernière intervention 10 décembre 2014 23
21 nov. 2013 à 13:48
Bien vu
0
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 11
21 nov. 2013 à 14:30
Merci, mais ça ne fonctionne toujours pas. Je me suis mis à tester sur 1 enregistrement :
$select = "SELECT * FROM mariage_ville WHERE id=18"; 	
$result = mysql_query($select,$link) or die(mysql_error()."\n".$select);
$row = mysql_fetch_array($result);

$date_mariage = $row['date_mariage'];
$date_mariage = explode(" ", $date_mariage);
if ($date_mariage[0] == "Avant" || $date_mariage[0] == "Après" || $date_mariage[0] == "Vers")
{ $resultat=mysql_query('UPDATE mariage_ville SET date_marg_1=$date_mariage[0], date_marg_2=$date_mariage[1]$date_mariage[2]$date_mariage[3] WHERE id = "'.$row['id'].'"'); }
0