probleme de date et le format SQL

ViPHP
ViPHP | 1961 Messages

03 janv. 2007, 00:07

Re,

Tu ne réponds pas à ma question !!!
COPIE/COLLE TA REQUÊTE ET EXÉCUTE-LA SOUS phpMyAdmin ou bien avec le client MySQL.

Tu est sur que toutes tes conditions doivent être remplies ensemble.
Tu ne confondrait pas AND et OR ???
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Invité
Invité n'ayant pas de compte PHPfrance

03 janv. 2007, 00:17

Je l'execute sur mon serveur 1and1 c'est pareil que phpmyadmin ?

Sinon pouir AND et OR je sais pas trops en faite je voudrai que si GET = fr alors sa me prenne toute les region qui sont egal a 1 et 2 et 3 et 4 etc ...

ViPHP
ViPHP | 1961 Messages

03 janv. 2007, 00:21

Re,
Quel est le résultat de cette requête
SELECT * FROM agenda WHERE yeardebut = STR_TO_DATE('2007-1-12', '%Y-%m-%d') AND region = '4' ORDER BY id DESC
quand tu l'exécutes sur le serveur ???
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

fanette
Invité n'ayant pas de compte PHPfrance

03 janv. 2007, 00:23

Je vais mettre la couble aussi que j'ai apres la requete
if($_GET['region'] == 'fr') {
$result = "SELECT * FROM agenda WHERE yeardebut = STR_TO_DATE('$c_annee-$c_mois-$jour', '%Y-%m-%d') AND region = '1' AND region  = '2' AND region = '3' AND region = '4' AND region = '5' AND region = '6' AND region = '7' AND region = '8' AND region = '9' AND region = '10' AND region = '11' AND region = '12' AND region = '13' AND region = '14' AND region = '15' AND region = '16' AND region = '17' AND region = '18' AND region = '19' AND region = '20' AND region = '21' AND region = '22' ORDER BY id DESC";

$result2 = mysql_query($result);
}

if($_GET['region'] <> 'fr') {
$result = "SELECT * FROM agenda WHERE yeardebut = STR_TO_DATE('$annee-$mois-$jour', '%Y-%m-%d') AND region = '$_GET[region]' ORDER BY id DESC";
$result2 = mysql_query($result);
}


while ($c=@mysql_fetch_array($result2)) {

echo "<a href=\"$jour-$c_mois-$c_annee-$region-$c[id].html\">$c[yeardebut] - $c[nomsoiree]</a>";
}

?>

Invité
Invité n'ayant pas de compte PHPfrance

03 janv. 2007, 00:24

C'etais cette requete :
$result = "SELECT * FROM agenda WHERE yeardebut = STR_TO_DATE('$c_annee-$c_mois-$jour', '%Y-%m-%d') AND region = '$_GET[region]' ORDER BY id DESC"

ViPHP
ViPHP | 1961 Messages

03 janv. 2007, 00:28

Re,
Je ne vois pas comment t'aider si tu t'acharnes à ne pas faire ce que je te demande ???
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

fanette
Invité n'ayant pas de compte PHPfrance

03 janv. 2007, 00:36

La requete ne me donne aucun resultat alors que j'ai un enregistrement avec region = 4 et a la date du 12 janvier 2007

ViPHP
ViPHP | 1961 Messages

03 janv. 2007, 00:41

Montre nous le contenu de ta table (5 ou 6 lignes)
Tu peut l'obtenir par

Code : Tout sélectionner

SELECT * FROM agenda ORDER BY id LIMT 0, 5;
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Invité
Invité n'ayant pas de compte PHPfrance

03 janv. 2007, 00:42

Je sais pas ci c'est cela mais je viens de lire

STR_TO_DATE existe depuis la version 4.1.1

1 and 1 la version de SQL je sais pas mais je croit que c'est : Client API version 4.0.25

:s

ViPHP
ViPHP | 1961 Messages

03 janv. 2007, 01:03

Bien, on va résoudre le PB autrement
On procède pas à pas.
if($mois < 10) {
   $moi = '0' . $mois;
}
if($jour < 10) {
   $jour = '0' . $jour;
}
$dateFormatee = $annee . '-' . $mois .'-' . $jour;
$qry = "SELECT * FROM agenda WHERE yeardebut = '" . $dateFormatee ."' AND region BETWEEN '1' AND '22';
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

fanette
Invité n'ayant pas de compte PHPfrance

04 janv. 2007, 20:23

Re bonsoir !

Alors j'ai tester et la date marche cependant j'ai du mal avec cette conditions que si mon GET = fr

sa ne marche pas

et je ne vois pas d'ou sa viens ?

Code : Tout sélectionner

if($_GET['region'] == 'fr') { $result = "SELECT * FROM agenda WHERE yeardebut = '$dateFormatee' AND region BETWEEN '1' AND '2' AND '3' AND '4' AND '5' AND '6' AND '7' AND '8' AND '9' AND '10' AND '11' AND '12' AND '13' AND '14' AND '15' AND '16' AND '17' AND '18' AND '19' AND '20' AND '21' AND '22' ORDER BY id DESC"; $result2 = mysql_query($result); } else { $result = "SELECT * FROM agenda WHERE yeardebut = '$dateFormatee' AND region = '$_GET[region]' ORDER BY id DESC"; $result2 = mysql_query($result); }

Invité
Invité n'ayant pas de compte PHPfrance

04 janv. 2007, 20:35

Oups erreur de ma part j'ai coriger

Code : Tout sélectionner

BETWEEN '1' AND '22'

fanette
Invité n'ayant pas de compte PHPfrance

04 janv. 2007, 20:43

En faite j'ai encore un probleme

ma requete
$result = "SELECT * FROM agenda WHERE yeardebut = '$dateFormatee' AND region BETWEEN '1' AND '22' ORDER BY id DESC";
ne me renvoi que 1 enregistrement alors qu'il devrai en avoir 4 ... :cry:

merci de votre aide