vitchi

Inscris le 09/04/2008 à 15:23
  • Nombre de sujets
    4
  • Nombre de messages
    21
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

vitchi
le 11/04/2008 à 17:53
Requete WHERE avec plusieurs BETWEEN ?
Coucou,

Je vais tester ça, je te tiens au courant car cela a l'air tres interessant, ce n'est en effet pas du tout ce genre d'approche à laquelle je pensais!!!.

note: Sinon je ne suis en general pas adepte du copier/coller ;)

Par contre:
" l'usage du sélecteur universel * peut dégrader les performances de la requête."
Sur ce point, je pense qu'il y a plusieurs ecoles car depuis le temps que je lis des points de vue divergents à gauche, à droite (pour certain
la perte de performance est marginale, pour d'autres elle est consequente... si tu pouvais developper ton point de vue cela m interesserait!)
vitchi
le 11/04/2008 à 17:05
Requete WHERE avec plusieurs BETWEEN ?
Ok les gars je reviens à la charge :)

Le fait de construire la requete "petit" à "petit" comme le dit la globule fonctionne... mais si on imagine toutes les situations, ca fait bcp de code je trouve (si l'utilisateur saisit ce champ et pas celui ci etc etc... bcp de scenario possibles !)

Donc je me suis dis (en tant que flemmard :p), on a qu'a attribuer une valeur au champ si celui est "null" non?

Voici donc la requete :
if (isset($_POST['envoyer']) && $_POST['envoyer'] == 'Envoyer') { 


//si l'utilisateur ne remplit pas les variables du formulaire, on va leur attribuer des valeurs pas defaut pour la recherche
if ($_POST['budget_min']==NULL) {
$_POST['budget_min']=="0"; }
if ($_POST['budget_max']==NULL) {
$_POST['budget_max']=="999999999999999"; }

if ($_POST['chambre_min']==NULL) {
$_POST['chambre_min']=="0"; }
if ($_POST['chambre_max']==NULL) {
$_POST['chambre_max']=="999999999999999"; }

if ($_POST['surf_min']==NULL) {
$_POST['surf_min']=="1"; }
if ($_POST['surf_max']==NULL) {
$_POST['surf_max']=="999999999999999"; }

if ($_POST['ville1']==NULL) {
$_POST['ville1']=="a"; }
if ($_POST['ville2']==NULL) {
$_POST['ville2']=="b"; }
if ($_POST['ville3']==NULL) {
$_POST['ville3']=="c"; }

$sql = '
SELECT *
FROM la table
WHERE
type = "'.$_POST['type'].'"
AND
publication="oui"
AND
prix BETWEEN "'.$_POST['budget_min'].'" AND "'.$_POST['budget_max'].'"
AND
nb_chambres BETWEEN "'.$_POST['chambre_min'].'" AND "'.$_POST['chambre_max'].'"
AND
surf_hab BETWEEN "'.$_POST['surf_min'].'" AND "'.$_POST['surf_max'].'"
AND
ville_offre LIKE "'.$_POST['ville1'].'%"
OR
ville_offre LIKE "'.$_POST['ville2'].'%"
OR
ville_offre LIKE "'.$_POST['ville3'].'%"
';


Or là encore une fois cela me retourne tous les resultats de ma table...

Si qq1 a une solution :)))))
vitchi
le 11/04/2008 à 15:41
Requete WHERE avec plusieurs BETWEEN ?
Ok je comprend mieux! Je pensais qu'en filtrant des le depart la requete avec le:

type = "'.$_POST['type'].'"

on limitait alors l'affichage des resultats au "type" etc.etc...
et non à tous les enregistrements
vitchi
le 11/04/2008 à 15:34
Requete WHERE avec plusieurs BETWEEN ?
slt globule,

Oui j'ai essaye de mettre des OR mais dans ce cas de figure, cela me retourne 100 resultats (soit tous les enregistrements de ma table :'( )
vitchi
le 11/04/2008 à 15:07
Requete WHERE avec plusieurs BETWEEN ?
D'ailleurs ce serait plutot ça le requete:
$sql = '
SELECT *
FROM la table
WHERE
type = "'.$_POST['type'].'"
AND
publication="oui"
AND
prix BETWEEN "'.$_POST['budget_min'].'" AND "'.$_POST['budget_max'].'"
AND
nb_chambres BETWEEN "'.$_POST['chambre_min'].'" AND "'.$_POST['chambre_max'].'"
AND
surf_hab BETWEEN "'.$_POST['surf_min'].'" AND "'.$_POST['surf_max'].'"
AND
ville_offre LIKE "'.$_POST['ville1'].'%"
OR
ville_offre LIKE "'.$_POST['ville2'].'%"
OR
ville_offre LIKE "'.$_POST['ville3'].'%"
';
vitchi
le 11/04/2008 à 15:04
Requete WHERE avec plusieurs BETWEEN ?
Salut tout le monde,

Une petite question concernant un probleme de requete pour un formulaire de recherche
Soit la requete suivante :

$sql = '
SELECT *
FROM la table
WHERE
type = "'.$_POST['type'].'"
AND
publication="oui"
AND
prix BETWEEN "'.$_POST['budget_min'].'" AND "'.$_POST['budget_max'].'"
AND
nb_chambres BETWEEN "'.$_POST['chambre_min'].'" AND "'.$_POST['chambre_max'].'"
AND
surf_hab BETWEEN "'.$_POST['surf_min'].'" AND "'.$_POST['surf_max'].'"
AND
ville_offre LIKE "'.$_POST['ville1'].'%"
AND
ville_offre LIKE "'.$_POST['ville2'].'%"
AND
ville_offre LIKE "'.$_POST['ville3'].'%"
';


Savez vous pourquoi elle ne me retourne aucun resultat (renvoie zero enregistrement) si on ne saisie pas tous les champs du formulaire ?

Note: evidemment les champs existent dans la base, les $_POST correspondent bien aux champs du formulaire et la requete est bien executee sans erreur particuliere...:'(

Merci d'avance :)
vitchi
le 10/04/2008 à 12:08
Formulaire multi upload et insertion dans la base de données
Re tout le monde,

Bon j'ai trouvé une solution qui fonctionne mais elle ne correspond pas tout à fait à ce que je voulais.

En fait, j'ai change la requete de mise a jour de la base.

A la place (et parceque les champs de ma table le permettent), j'ai mis:

UPDATE la table en question
SET image_'.$i.' = "'.$nom_fichier.'"
WHERE no_asp ="'.$_GET['noasp'].'" ';


Ainsi a chaque passage de la boucle, je met à jour le champ 1 avec la photo 1, le champ 2 avec la photo 2...etc.

Ce n'est pas vraiment ce que je voulais faire: je voulais extraire proprement chaque image et ne faire qu'une seule requete. J'imagine qu'il faut faire un tableau mais bon...

Si qq1 se sent de regarder tout ça pour m'expliquer, je suis preneur car cela m'interesse!!

Merci d'avance smiley
vitchi
le 09/04/2008 à 17:46
Formulaire multi upload et insertion dans la base de données
Re Keika,

J'ai essayé ce que tu m'as dis mais j'ai toujours une mise à jour des champs de ma base... qui ne prend que le nom de ma derniere image uploadée et non les 5.

Sinon oui, la requete Update est normale (car l'enregistrement à éditer existe deja dans la base et je ne mets à jour que les champs photos)

Sincerement je pense que c est tout bete mais je me rend fou smileysmileysmiley

Si il y a qq1 qui est à l'aise ces tableaux, je suis preneur smiley
vitchi
le 09/04/2008 à 17:29
Formulaire multi upload et insertion dans la base de données
Salut Keika, là il y a pourtant bien la boucle FOR au départ qui initialise tout ça.

Mon probleme est que justement je ne parviens pas à isoler les noms des images même en faisant par exemple:
$nom_fichier[1]
$nom_fichier[2]...etc

Help plz :'( :"'
LoadingChargement en cours