Requete between and, dans une liste à cocher
maxireussite
Messages postés
405
Statut
Membre
-
jordane45 Messages postés 40050 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 40050 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour à tous,
Après 5 heures de tâtonnements j'abdique... et je demande de l'aide.
J'ai tenté d'adapter une requête qui fonctionne ailleurs mais là c choux gras !
j'ai besoin d'afficher dans une liste à cocher le résultat d'une requête d'intervalle entre deux dates "between and".
J'aimerais savoir svp ce qui cloche, au mieux j'obtiens "enregistrer" comme affichage...
Voilà le script complet, merci d'avance :
Après 5 heures de tâtonnements j'abdique... et je demande de l'aide.
J'ai tenté d'adapter une requête qui fonctionne ailleurs mais là c choux gras !
j'ai besoin d'afficher dans une liste à cocher le résultat d'une requête d'intervalle entre deux dates "between and".
J'aimerais savoir svp ce qui cloche, au mieux j'obtiens "enregistrer" comme affichage...
Voilà le script complet, merci d'avance :
<?php
ini_set('display_errors', true);
error_reporting(E_ALL);
require_once('../koneksyon/konfig.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>sans titre 1</title>
</head>
<body>
<?php
if(isset($_POST['region_id'])) $region_id=$_POST['region_id'];
else $region_id="";
if(isset($_POST['ville_id'])) $ville_id=$_POST['ville_id'];
else $ville_id="";
if(isset($_POST['categorie_id'])) $categorie_id=$_POST['categorie_id'];
else $categorie_id="";
if(isset($_POST['objet_id'])) $objet_id=$_POST['objet_id'];
else $objet_id="";
if(isset($_POST['datedebut'])) $datedebut=$_POST['datedebut'];
else $datedebut="";
if(isset($_POST['dateFin'])) $dateFin=$_POST['dateFin'];
else $dateFin="";
$datedebut1 = date('d-m-Y', strtotime($datedebut));
$dateFin1 = date('d-m-Y', strtotime($dateFin));
$sql = mysql_query("SELECT trouve_id, region_id, ville_id, categorie_id, objet_id, date_trouve FROM pt_trouve WHERE date_trouve between 'datedebut1' and 'dateFin1'");
$requete = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
echo '<form name="form1" action="" method="post">';
echo "<table>";
while ($data= mysql_fetch_array($requete))
{
echo '<tr><td>'.$data['trouve_id'].'</td><td>'.$data['date_trouve'].'</td><td><input type="checkbox" name="ligne_cochee['.$data['trouve_id'].' value="1" /></td></tr>';
}
echo "</table>";
echo '<input type="submit" name="envoyer" value="Enregistrer" />';
echo '</form>';
?>
</body>
</html>
A voir également:
- Requete between and, dans une liste à cocher
- Liste déroulante excel - Guide
- Liste code ascii - Guide
- Liste déroulante en cascade - Guide
- Spybot search and destroy - Télécharger - Antivirus & Antimalwares
- Site dangereux liste - Guide
5 réponses
Bonjour;
Déjà.. il manque les dollars devant le nom de tes variables
Déjà.. il manque les dollars devant le nom de tes variables
between 'datedebut1' and 'dateFin1'
maxireussite
Messages postés
405
Statut
Membre
5
Merci.
En corrigeant avec les dollars, j'ai le message suivant :
"Warning: mysql_query() expects parameter 1 to be string, resource given in /home/*************/jai-perdu-/addd.php on line 40 Erreur SQL !Resource id #3"
"Warning: mysql_query() expects parameter 1 to be string, resource given in /home/*************/jai-perdu-/addd.php on line 40 Erreur SQL !Resource id #3"
Tu l'as écrite comment ta requête une fois "corrigée" ?
Essayes ceci :
Cordialement,
Jordane
Essayes ceci :
$sql = "SELECT trouve_id
, region_id
, ville_id
, categorie_id
, objet_id
, date_trouve
FROM pt_trouve
WHERE date_trouve between '$datedebut1' and '$dateFin1' ";
// le temps des tests... fais donc un echo de ta requête pour voir si elle // correspond bien à ce que tu attends... et testes là en direct dans ta BDD
echo " <br> REQUETE : <br>".$sql;
//$req = mysql_query($sql);
$requete = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
Cordialement,
Jordane
Message :
REQUETE :
Resource id #3 Warning: mysql_query() expects parameter 1 to be string, resource given in /home/****************/jai-perdu-/addd.php on line 44 Erreur SQL !Resource id #3
Query was empty
REQUETE :
Resource id #3 Warning: mysql_query() expects parameter 1 to be string, resource given in /home/****************/jai-perdu-/addd.php on line 44 Erreur SQL !Resource id #3
Query was empty
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bon, je perds mon lat... mon php ! Lol !
En vérifiant et en remettant to script corrigé, j'ai :
"REQUETE :
SELECT trouve_id , region_id , ville_id , categorie_id , objet_id , date_trouve FROM pt_trouve WHERE date_trouve between '01-12-2014' and '01-01-1970'"
C quoi cette année 1970 ? Mes dates supposées sont entre déc. 2014 et février 2015...
En vérifiant et en remettant to script corrigé, j'ai :
"REQUETE :
SELECT trouve_id , region_id , ville_id , categorie_id , objet_id , date_trouve FROM pt_trouve WHERE date_trouve between '01-12-2014' and '01-01-1970'"
C quoi cette année 1970 ? Mes dates supposées sont entre déc. 2014 et février 2015...
Je completerai mes réponses avec ceci...
Plutôt que du faire du If /else "classique" pour récupérer tes valeurs POST ... penses à l'écriture TERNAIRE.
Par exemple :
Et pour en revenir à ton problème de dates :
Plutôt que du faire du If /else "classique" pour récupérer tes valeurs POST ... penses à l'écriture TERNAIRE.
Par exemple :
//ceci:
if(isset($_POST['region_id'])) $region_id=$_POST['region_id'];
else $region_id="";
// Peut s'écrire comme cela :
$region_id = isset($_POST['region_id']) ? $_POST['region_id'] : '' ;
Et pour en revenir à ton problème de dates :
$datedebut = isset($_POST['datedebut'])?$_POST['datedebut']:NULL;
$dateFin = isset($_POST['dateFin'])?$_POST['dateFin']:NULL;
$datedebut1 = $datedebut?date('Y-m-d', strtotime($datedebut)):date('Y-m-d');
$dateFin1 = $dateFin?date('Y-m-d', strtotime($dateFin)):date('Y-m-d');