PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#26 Re : Forum Général PHP » Une requete = 2 affichage pour comparatif » 08-03-2011 09:16:10

Merci pour le lien wink c'est compris. wink
Mis en favoris, merci pour ce complément d'information très très utile.

#27 Re : Forum Général PHP » Une requete = 2 affichage pour comparatif » 08-03-2011 09:16:10

Bahh.... je viens de comprendre ... il me suffisait de faire

$Requete_SQL1 = "SELECT * FROM fiche_moto T1 WHERE type_r = '$type_r1' AND marque='$marque1' AND modele = '$modele1' AND annee='$annee1'";
 $result = mysql_query($Requete_SQL1) or die("Erreur de Sélection dans la base : ". $Requete_SQL1 .'<br />'. mysql_error());

$Requete_SQL2 = "SELECT * FROM fiche_moto T2 WHERE type_r = '$type_r2' AND marque='$marque2' AND modele = '$modele2' AND annee='$annee2'";
 $result = mysql_query($Requete_SQL2) or die("Erreur de Sélection dans la base : ". $Requete_SQL2 .'<br />'. mysql_error());

Il doit y avoir encore mieux.

#28 Re : Forum Général PHP » Une requete = 2 affichage pour comparatif » 08-03-2011 09:16:10

Ben je ne voyais pas du tout comment faire, effectivement, je ne travaille que sur 2 tables... mais c'était un moyen détourné d'afficher 2 select.
Si tu penses à une façon de faire, je prends wink

#29 Re : Forum Général PHP » Une requete = 2 affichage pour comparatif » 08-03-2011 09:16:10

Je dois pas être très frais quand même pour un lundi pour bloquer sur des déclarations de variables wink

#30 Re : Forum Général PHP » Une requete = 2 affichage pour comparatif » 08-03-2011 09:16:10

lol Pas loin, en plus, c'est une section que je suis entrain de nommer duel.*
Ouf, je suis sur le bon chemin, mais j'ai vraiment intérêt à relire encore et encore mon bouquin php sql ...

#31 Re : Forum Général PHP » Une requete = 2 affichage pour comparatif » 08-03-2011 09:16:10

Finalement, je me suis trompé, j'avance big_smile
Si je rentre moi même les valeurs, j'ai bien deux colonnes qui s'affiche avec le résultat désiré.

$Requete_SQL2 = "
SELECT * FROM fiche T1 WHERE type_r = 'Sportives' AND modele = 'ZX-10R' AND annee=2011
UNION
SELECT * FROM fiche T2 WHERE type_r = 'Roadster'  AND modele = 'Z750R'  AND annee=2011";

J'ai mis dans mes listbox comme name type_r1 et type_r2.

Mon probleme, maintenant, c'est comment je déclare ces valeurs dans ma requetes ... humm en écrivant ces lignes, il me vient une idée à tester ...

#32 Re : Forum Général PHP » Une requete = 2 affichage pour comparatif » 08-03-2011 09:16:10

Bon, je cherche, mais ça avance pas des masses :

$Requete_SQL2 = "
SELECT * FROM fiche_moto T1 WHERE type_r = '$type_r'
UNION
SELECT * FROM fiche_moto T2 WHERE type_r = '$type_r' ";

Je pensais à un truc dans le genre, mais il ne prend en compte que ma 1er listbox type_r ... est ce que je dois renommer mes listbox par T1 ou T2 ?
Pareil pour mon affichage ?
Je sens que je suis parti loin .....

Mon but étant d'afficher deux enregistrements cote à cote ...

#33 Re : Forum Général PHP » Probleme de destrcution de varaible de session » 25-02-2011 19:06:47

Merci pour tout ces conseils, je vais tenter de les mettre en application. Je vais faire tester l'appli par 2 amis qui n'y connaisse pas grand chose, ça devrait me donner une idée des problemes que je pourrais rencontrer si je la mets en production.

#34 Re : Forum Général PHP » Probleme de destrcution de varaible de session » 25-02-2011 19:06:47

Un grand merci, car malgré tout mes test depuis lundi, j'avoue que je n'avais pas du tout pensé à un accès direct à une de ces pages hmm

Je comprends maintenant ce que tu me dit avec ta dernière explication. Je vais prendre mon temps et digérer ton code.

Merci wink

#35 Re : Forum Général PHP » Probleme de destrcution de varaible de session » 25-02-2011 19:06:47

Tu veux dire que je dois avoir uniquement

 
      session_start();

sur mes pages, je retire par exemple :

   1.
      <?php
   2.
       
   3.
      session_start();
   4.
       
   5.
      if (!isset($_SESSION['type_r'])) {
   6.
        $_SESSION['type_r']="";
   7.
        }
   8.
      if (!isset($_SESSION['marque'])) {
   9.
        $_SESSION['marque']="";
  10.
        }
  11.
      if (!isset($_SESSION['modele'])) {
  12.
        $_SESSION['modele']="";
  13.
        }
  14.
      //type_r et marque
  15.
      ?>

Je vais reflechir ce que cela va donner de mettre une session non defini à 0.

Merci, tu va me faire travailler les méninges encore plus ^^

#36 Re : Forum Général PHP » Probleme de destrcution de varaible de session » 25-02-2011 19:06:47

Je t'ai envoyé un mail "texte" au travers de l'interface du forum. Je n'ai pas pu y joindre les fichiers sad

#37 Re : Forum Général PHP » Probleme de destrcution de varaible de session » 25-02-2011 19:06:47

Détails de la page4 sur la requete de réaffichage qui ne devrait reprendre que la variable indiquer lors de la page 1, mais qui récupere des infos on dirait dès de détails de la fiche page3... :

    $req = "select * from fiche_matable where";
    $req.=(!empty($_SESSION["type_r"])) ? " type_r='".$_SESSION["type_r"]."' AND":"";
    $req.=(!empty($_SESSION["marque"])) ? " marque='".$_SESSION["marque"]."' AND":"";
    $req.=(!empty($_SESSION["modele"])) ? " modele='".$_SESSION["modele"]."' AND":"";
    $req= rtrim($req,' AND');
   
$req.=" AND valid=0 order by date asc";
// affichage test de la requete
echo $req;

#38 Re : Forum Général PHP » Probleme de destrcution de varaible de session » 25-02-2011 19:06:47

Je t'ai envoyer un message wink

Pour l'instant, j'avance ... en bien ou mal

Page 3

<?php

session_start();

if (!isset($_SESSION['type_r'])) {
  $_SESSION['type_r']="";
  }
if (!isset($_SESSION['marque'])) {
  $_SESSION['marque']="";
  }
if (!isset($_SESSION['modele'])) {
  $_SESSION['modele']="";
  }
//type_r et marque
?>

Jusque la, tout va bien ...

page 4

<?php
session_start(); // On démarre la session AVANT toute chose
?>

La, par contre, bizarrement, je fais un test depuis la page 1 à 2 puis 3 en ne faisant passer que la variable en session "marque" pour tester, et j'affiche mes requetes...
Et à la page 4, il récupère toutes mes sessions de description de la page3 soit type_r, marque, modele et les emmenes à la page4 ....

#39 Re : Forum Général PHP » Probleme de destrcution de varaible de session » 25-02-2011 19:06:47

Merci beaucoup JC pour cette explication sur les sessions.

Je viens effectivement de retirer les 3 unset de mon formulaire et déja, ça fonctionne beaucoup big_smile

Mais par contre, je ne peux pas revenir à la page 3 pour ré-afficher la liste car mes sessions sont vide (echo), par contre, sur ma page4, j'affiche mes sessions, mais ma requete ne fonctionne pas ...

#40 Forum Général PHP » Probleme de destrcution de varaible de session » 25-02-2011 19:06:47

theavengers
Réponses : 14

Bonjour à tous,

j'ai un soucis de destruction de variable, je m'explique :

Page1 : Formulaire de recherche listbox A B C

Page2 : Affichage d'une liste de résultats (je stocke avec post session A B Cmes variables de recherches et j'affiche ma liste en fonction)

Page3 : Affichage d'une fiche en fonction de mes sessions stockes (ABC ou A, ou AB, ou BC etc)

Page4 : Affichage d'une autre liste de résultats

Si en Page 3, je décide de revenir au formulaire page 1 pour refaire un nouveau choix, mais que je ne choisis pas B et C par exemple, la session garde quand même BC en memoire, et affiche la Page 2 en conséquence.

Donc je me suis dit, détruisons les sessions ABC dès que l'on est sur le formulaire par :

<?php
session_start(); // On démarre la session AVANT toute chose
unset($_SESSION['type_r']);
unset($_SESSION['marque']);
unset($_SESSION['modele']);

?>

Mais c'est pareil, il faut que je teste ma session si elle est vide ou pleine avant de la détuire ou j'écris mal mon code ?

#41 Re : Forum Général PHP » Une requete = 2 affichage pour comparatif » 08-03-2011 09:16:10

Ahhhhhhhh, je vois mieux la requête !!! big_smile C'est génial, merci. Bon ben dès que j'ai avancé sur la mise à jour de ma base, je teste.

#42 Forum Général PHP » Une requete = 2 affichage pour comparatif » 08-03-2011 09:16:10

theavengers
Réponses : 13

Hello à tous,

Je voudrais savoir qu'est ce que je dois regarder sur le petit manuel du php pour faire afficher en 1 seule requete 2 fiches distinctes.

Je résume, vous voyez le face à face sur le site les numériques, ben dans le genre pour comparer 2 produits.

Je pensais faire un double de ma table... mais je ne sais pas si cette solution ne ferait pas usine à gaz ... je sens qu'il va falloir que je regarde du côté de l'Ajax aussi ...


Merci d'avance.

PS Modo : j'ai un topic ouvert, mais je n'ai pas encore fini d'y travailler.

#43 Re : Forum Général PHP » Mise à jour Update et upload » 21-02-2011 09:22:23

Hello, merci pour ton message. Non, pas encore, j'essaie de comprendre le systeme d'upload en update.... mais je crois que tu as raison, je vais revenir à ces lignes et essayer de rajouter une condition. Je teste et je reviens wink

#44 Forum Général PHP » Mise à jour Update et upload » 21-02-2011 09:22:23

theavengers
Réponses : 2

Bonjour à tous,

je continue à apprendre, mais j'ai tellement la tête dans le guidon sur un projet perso que je me suis perdu...

Je résume ma situation, j'ai un formulaire qui enregistre dans une bdd sql plusieurs données et surtout de 1 à 5 fichiers avec leur nom. Chaque fichier envoyé est renommé et incrementé de 1.

Je souhaites mettre à jour les données et avoir la possibilités de mettre à jour les uploads de fichiers, mais sans écraser les anciens.

Sauf que pour l'instant, les fichiers s'upload sur mon serveur mais écrase les anciens et je n'ai aucun nom de fichier dans la base.

Je vous mets un fragment de mon code de modification :

   <?php

// On commence par vérifier si les champs sont vides
if(empty($_POST["forme_cylindre"]) OR empty($_POST["puissance"]) )
    {
    echo '<span class="titre">Attention, des champs n\' ont pas été remplis ! Utiliser le bouton page precedente de votre navigateur pour revenir en arrière.</span>';
    }
// Aucun champ n'est vide, on peut enregistrer dans la table
else
    {
// connexion a la base
require_once("includes/connexion.php");

$BD_link = mysql_connect("${'BD_host'}${'BD_port'}", $BD_login, $BD_pass) or die("Connexion de la base impossible : ". mysql_error());

$date = date("d-m-Y");
// variable

   
    echo "id : $id <br>";
  echo "date : $date<br>"; //no


  echo "forme_cylindre : $forme_cylindre<br>";
  echo "puissance : $puissance<br>";
   
  echo "aFile1 : $aFile1<br>";
  echo "aFile2 : $aFile2<br>";
  echo "aFile3 : $aFile3<br>";
  echo "aFile4 : $aFile4<br>";
  echo "aFile5 : $aFile5<br>";
 
             
//aFile1  aFile2  aFile3  aFile4

   $result=mysql_query("UPDATE fiche SET
              date=now(),
        forme_cylindre='$forme_cylindre',
     
               
         WHERE id='$id'"
);
         
 $addedFiles = array();
      $i = "1";
          foreach ($_FILES as $name => $file)
          {
              if (is_uploaded_file($file['tmp_name']))
              {
               // renomme le fichier sur le serveur
         copy($file['tmp_name'], "../photo/${marque}-${modele}-${i}.jpg" );
              $addedFiles[$name] = mysql_real_escape_string("${marque}-${modele}-${i}.jpg" );
              $i++;
              }
           }       
             

   if (!$result) {
       echo "La mise à jour de vos données a échouée. Essayez plus tard<br>";
   } else {
        echo '<span class=normal><center><br>La fiche à bien été enregistrée</center><br><br><br>';
    echo '<span class=titre><center><a href="liste-suite.php">retour</a></span></center><br>';
    mysql_close();
    }
  }
   // mysql_close();

Merci d'avance pour les conseils. smile

#45 Re : Forum Général PHP » Renommer les fichiers différements à l'envoi d'un formulaire 4upload . » 23-09-2010 11:47:18

Hello, je te réponds dès que possible, je n'ai pas encore fait tout les test que je voulais. Je teste ta méthode et une autre que l'on ma recommandé (Tirkyth si tu te reconnais ^^ )

#46 Re : Forum Général PHP » Renommer les fichiers différements à l'envoi d'un formulaire 4upload . » 23-09-2010 11:47:18

Oki, donc, si j'ai bien compris, en premier .


    $addedFiles = array();
  $trouvetavar = '1'; //  c'est la variable qui va me permettre de rajouter le numéro qui va s'incrémenter, donc la ça commence avec 1.

$value = $value +1 ; // je rajoute un à chaque fois
 


Désolé, j'y vais petit à petit ... comme je ne fait pas souvent de PHP, je perds à chaque fois mes bases...
Bon je teste

#48 Re : Forum Général PHP » Renommer les fichiers différements à l'envoi d'un formulaire 4upload . » 23-09-2010 11:47:18

Ben je bloque complètement dans la comprehension, j'ai tenté un

$addedFiles = array(1,2,3,4);
 foreach ($addedFiles as &$value) {
    $value = $value =1 ;

foreach ($addedFiles as &$value) {
    $value = $value =1 ;

Et ma variable est vide. je vais retenter dans la journée. On sait jamais, j'avais peut être pas la tête à ça ...

#49 Re : Forum Général PHP » Les retours à la ligne dans un formulaire ? » 17-09-2010 16:42:58

Merci, j'ai trouvé smile

$message = mysql_real_escape_string(nl2br(htmlspecialchars($_POST['message'])));

Est ce une obligation d'utiliser htmlspecialchars pour ré-afficher les données ?

#50 Re : Forum Général PHP » Renommer les fichiers différements à l'envoi d'un formulaire 4upload . » 23-09-2010 11:47:18

J'avance, tout fonctionne, ou presque. Même si tout fonctionne correctement, j'ai toujours mon message comme quoi je n'ai pas télécharger de fichier sur le serveur ...

Et je ne sais toujours pas comment remplacer le nom du fichier par 01.JPG, 02.jpg etc ...

Sinon, que ce soit dans la base ou le serveur j'ai 100917035849-nomdufichier.jpg

  $addedFiles = array();
  foreach ($_FILES as $name => $file)
  {
         if (is_uploaded_file($file['tmp_name']))
         {
     // renomme le fichier sur le serveur
     copy($file['tmp_name'], "photo/${date}-".$file['name']);
         $addedFiles[$name] = mysql_real_escape_string($file['name']);

         }
      }
      $query = "
         INSERT INTO matable
             (date, ip, pseudo, password, region, dept,
       etablissement, gerant, adresse, postal, ville, tel, port, fax, email, internet,
             prixmin, prixmax, prestation01, prestation02, prestation03, prestation04, description,
       installation01, installation02, installation03, installation04, installation05, installation06, installation07, installation08, installation09, installation10, installation11,
       installation, equipement, service01, service02, service03, service04, service05, service06, service, aFile, aFile2, aFile3, aFile4)

         VALUES
             (NOW(), '$ip', '$pseudo', '$password', '$region', '$dept',
             '$etablissement', '$gerant', '$adresse', '$postal', '$ville', '$tel', '$port', '$fax', '$email', '$internet',
       '$prixmin', '$prixmax', '$prestation01', '$prestation02', '$prestation03', '$prestation04', '$description',
       '$installation01', '$installation02', '$installation03', '$installation04', '$installation05', '$installation06', '$installation07', '$installation08', '$installation09', '$installation10', '$installation11',
             '$installation','$equipement','$service01','$service02','$service03','$service04','$service05','$service06', '$service' ";
//        $query .= isset($addedFiles['aFile']) ? ", '".$addedFiles['aFile']."$date'" : ", ''";
// fonctionne resultat : lx10.jpg100917033104
  $query .= isset($addedFiles['aFile']) ? ", '$date-".$addedFiles['aFile']."'" : ", ''";
  $query .= isset($addedFiles['aFile2']) ? ", '$date-".$addedFiles['aFile2']."'" : ", ''";
  $query .= isset($addedFiles['aFile3']) ? ", '$date-".$addedFiles['aFile3']."'" : ", ''";
  $query .= isset($addedFiles['aFile4']) ? ", '$date-".$addedFiles['aFile4']."'" : ", ''";
      $query .= " )";

  echo "Pas de photos téléchargé !?";


$res = mysql_query($query) or die(mysql_error());

Pied de page des forums

Propulsé par FluxBB