Explode [Résolu/Fermé]

Signaler
Messages postés
1294
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
16 septembre 2020
-
Messages postés
1294
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
16 septembre 2020
-
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

Messages postés
207
Date d'inscription
mardi 16 novembre 2010
Statut
Membre
Dernière intervention
10 décembre 2014
22
Bonjour,

As tu essayé de faire un echo de la requête query et de la faire directement dans mysql?
Messages postés
1294
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
16 septembre 2020
10
Ce que j'ai testé, c'est que $date_mariage[0] existe bien.
C'est donc l'UPDATE qui ne fonctionne pas .............. !!!!!
Messages postés
207
Date d'inscription
mardi 16 novembre 2010
Statut
Membre
Dernière intervention
10 décembre 2014
22
Peut-tu nous montrer à quoi ressemble la requête?
Messages postés
1294
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
16 septembre 2020
10
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'].'"');
}
Messages postés
207
Date d'inscription
mardi 16 novembre 2010
Statut
Membre
Dernière intervention
10 décembre 2014
22
Je veux dire la requête query.
Donc si tu fais
$qry = "UPDATE ...";
echo $qry; //ceci
Messages postés
3624
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
18 septembre 2020
969
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]...
Messages postés
207
Date d'inscription
mardi 16 novembre 2010
Statut
Membre
Dernière intervention
10 décembre 2014
22
Bien vu
Messages postés
1294
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
16 septembre 2020
10
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'].'"'); }