IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Cohabité deux requetes SQL + Mise en page bizare


Sujet :

Langage PHP

  1. #21
    Membre actif Avatar de Momodedf
    Inscrit en
    Juillet 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Juillet 2007
    Messages : 246
    Points : 221
    Points
    221
    Par défaut
    Ok ^^

    Il y a peut être une erreur SQL.

    Essayes de faire un mysql_error() pour afficher un potentiel message d'erreur.

  2. #22
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 71
    Points : 17
    Points
    17
    Par défaut
    Ok

    Je me trompe ou pas la :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    include('conf.php');	
    $requete=mysql_query("SELECT SUM(prix) FROM (SELECT prix FROM client ORDER BY id DESC LIMIT ".intval($_POST['nb']).");");
    $resultat = mysql_query($requete) or die('Erreur SQL !<br />'.$requete.'<br />'.mysql_error());
    $donnee = mysql_fetch_array($requete);
    $somme=$donnee['SUM(prix)'];
    ?>
    Avec ce code j'ai :

    Erreur SQL !

    Query was empty
    PS: rigole pas trop hein je débute lol et c'est pas mon fort a dire vrai lol mais déjà content de ce que j'ai réussi a faire

  3. #23
    Membre actif Avatar de Momodedf
    Inscrit en
    Juillet 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Juillet 2007
    Messages : 246
    Points : 221
    Points
    221
    Par défaut
    Essayes plutot ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    include('conf.php');	
    $requete = "SELECT SUM(prix) FROM (SELECT prix FROM client ORDER BY id DESC LIMIT ".intval($_POST['nb']).");";
    $resultat = mysql_query($requete) or die('Erreur SQL !<br />'.$requete.'<br />'.mysql_error());
    $donnee = mysql_fetch_array($requete);
    $somme=$donnee['SUM(prix)'];
    ?>
    Sinon, si ta table est vide c'est possible qu'elle génère une erreur,un mysql_num_rows() permet de s'en assurer.

  4. #24
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 71
    Points : 17
    Points
    17
    Par défaut
    Ma table n'est pas vide j'ai 3 client dedans pour l'instant
    Avec ta requete j'ai cela :

    Erreur SQL !
    SELECT SUM(prix) FROM (SELECT prix FROM client ORDER BY id DESC LIMIT 1);
    Every derived table must have its own alias

  5. #25
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 71
    Points : 17
    Points
    17
    Par défaut
    Re moi,

    Je fait quelques recherches pour trouvé une solution a mon problème, j'ai peut être trouvé quelques chose de plus simple et de plus pratique a long terme

    La demo ici :
    http://demo.esfacturesdevis.com/tva/
    (Login: demo / mot de passe: demo)

    Je vais essayé de faire un system identique a celui-ci (c'est pas gagné)

    Si quelqu'un a un tuto ou demo je suis preneur

    Merci

  6. #26
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 71
    Points : 17
    Points
    17
    Par défaut
    Encore un truc qui va finir a la corbeille, j'ai cherché depuis 3 plombes un moyen de le faire mais je n'y arrive pas , j'ai bien trouvé a faire plus ou moins la requête SQL mais après je ne sais pas ...

  7. #27
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 71
    Points : 17
    Points
    17
    Par défaut
    J'ai réussi a faire plus ou moins ce que je voulais faire avec mon moteur de recherche modifié (pas fini), par contre il me prend bien en compte mes recherches mais j'ai un problème :

    J'ai 3 clients le 5/05/09 , 06/05/09 et 07/05/09
    - Quand je fait les dates une par une ça marche.
    - Quand je fait les dates 5/05/09 , 06/05/09 il me trouve bien deux clients.
    - Quand je fait les dates le 5/05/09 , 06/05/09 et 07/05/09 il me trouve bien trois clients.


    Par contre
    Quand je fait des dates apres le 07/05/09 il me trouve toujours mes 3 clients ce qui est pas normal, et quand je fait des dates anterieurs il me trouve 0 client (normal ca)

    Voila le code en question (j'ai juste enlever le JS) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
     
    <?php
    ob_start ();
    ?>
     
    </head>
    <?php
    if(isset($_POST['date1']) && $_POST['date2'] != NULL)
    {
    include('conf.php');
     
    $date2 = htmlentities($_POST['date2'], ENT_QUOTES);
     
     
    $query = mysql_query("SELECT * FROM client WHERE date BETWEEN '$date1' AND '$date2'") or die (mysql_error());
    $nb_resultats = mysql_num_rows($query);
    if($nb_resultats != 0)
    {
    	function sans_accent($chaine)
    {
       $accent  ="ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿ";
       $noaccent="aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyyby";
       return strtr(trim($chaine),$accent,$noaccent);
    }
     
    ?><center>
    <h3>Réultats de votre recherche.</h3>
    <p>Nous avons trouvé <?php echo $nb_resultats;
    if($nb_resultats > 1) { echo ' résultats '; } else { echo ' résultat '; }
    ?>
    dans notre base de données. Voici le résultat :<br/>
    <br/>
     
    <?php
    while($donnees = mysql_fetch_array($query))
    {
    ?>
    <br />
    <a href="fiche.php?id=<?php echo $donnees['id']; ?>"><font color=red><strong>- <?php echo $donnees['titre']; ?> <?php echo $donnees['nom']; ?></strong></a>
     
     
     
    <?php
    }
    ?><br/>
    <br/><br />
    <a href="recherche2.php">Faire une nouvelle recherche</a></p>
     
    <?php
    }
    else
    {
    ?>
    <h3>Pas de r&eacute;sultats</h3>
    <p>Nous n'avons trouv&eacute; aucun r&eacute;sultats pour votre requ&ecirc;te "<?php echo $_POST['requete']; ?>". <a href="recherche2.php">R&eacute;essayez</a> avec autre chose.</p>
    <?php
    }
    mysql_close();
    }
    else
    {
    ?><center>
    <p>Rechercher dans la base</p>
    <form action="<?php $_SERVER['PHP_SELF'] ?>" method="Post">
    <i<table width="431" height="161" border="0">
    				  <tr>
    				    <td colspan="2" align="center"><strong>Calcul des impots</strong></td>
    			      </tr>
    				  <tr>
    				    <td width="175" align="right">Date de D&eacute;but :</td>
    				    <td width="240" align="center"><input type="text" name="date1" id="datepicker" /></td>
    			      </tr>
    				  <tr>
    				    <td align="right">Date de Fin :</td>
    				    <td align="center"><input type="text" name="date2" id="datepicker2" /></td>
    			      </tr>
    				  </table>
     
    <INPUT border=0 src="../img/rechercher.png " type=image Value=submit align="middle"/>
    </form>
    <?php
    }
     
    ?>

  8. #28
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 71
    Points : 17
    Points
    17
    Par défaut
    Apparement quand j'ajoute cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    <?php
    if(isset($_POST['date1']) && $_POST['date2'] != NULL)
    {
    include('conf.php');
    $date1 = htmlentities($_POST['date1'], ENT_QUOTES);
    $date2 = htmlentities($_POST['date2'], ENT_QUOTES);
    ca fonctionne bien ...

  9. #29
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 71
    Points : 17
    Points
    17
    Par défaut
    J'ai un petit souci maintenant au niveau de ma requete SQL je n'arrive pas a faire cohabité les deux que j'ai besoin :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $query = mysql_query("SELECT * FROM client WHERE date BETWEEN '$date1' AND '$date2'") or die (mysql_error());
    $nb_resultats = mysql_num_rows($query);
    if($nb_resultats != 0)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     $requete=mysql_query("SELECT SUM(prix) FROM client");
    $donnee = mysql_fetch_array($requete);
    $somme=$donnee['SUM(prix)'];

  10. #30
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 71
    Points : 17
    Points
    17
    Par défaut
    La nuit porte conseil j'ai réussi le problème de la requête, par contre toujours mon tableau qui me vire un client

    Mise en forme étrange :

    Sur mon moteur de recherche via date apres la recherche mes clients s'affiche correctement via ce script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $donnees['titre']; ?> <?php echo $donnees['nom']; ?> <?php echo $donnees['prenom']; ?> - <?php echo $donnees['prix']; ?>€</strong>
    J'essaye de faire une mise en page propre avec cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <?php
     echo '<center><table bgcolor="#FFFFFF" border="1" cellpadding="0" style="border-color:#999" width="800px">'."\n";
            // premi&egrave;re ligne on affiche les titres pr&eacute;nom et surnom dans 2 colonnes
     
            echo '<td background="img/fdc.png" width="56%" align="center"><b><u>Client</u></b></td>';
            echo '<td background="img/fdc.png" "width="20%" align="center"><b><u>Ville</u></b></td>';
            echo '<td background="img/fdc.png" width="12%" align="center"><b><u>Date & Heure</u></b></td>';
    echo '<td background="img/fdc.png" width="12%" align="center"><b><u>Montant</u></b></td>';
            echo '</tr>'."\n";
        // lecture et affichage des r&eacute;sultats sur 2 colonnes, 1 r&eacute;sultat par ligne.    
        while($donnees = mysql_fetch_array($query)) {
     
     echo '<td bgcolor="#F9F9F9">'.$donnees['nom'].' '.$donnees['prenom'].'<i> ('.$donnees['titre'].')</i></td>';
            echo '<td bgcolor="#F9F9F9">'.$donnees['ville'].'</td>';
            echo '<td bgcolor="#F9F9F9">Le  '.dateFR($donnees['date']).'<p>&agrave; '.$donnees['heure'].'</td>';
            echo '<td bgcolor="#F9F9F9">'.$donnees['prix'].'€</td>';
            echo '</tr>'."\n";
     
        }
        // fin du tableau.
     
     
    // on lib&egrave;re l'espace m&eacute;moire allou&eacute; pour cette requ&ecirc;te
        echo '</table>';
    }
     
    ?>
    mais je me retrouve avec un probleme etrange, j'ai toujours le 1er client qui n'apparait pas, hors le compteur du tableau dessus indique bien le bon nombre (3 dans le compteur mais que 2 clients dans le tableau)

    Je vous remercie pour votre aide qui je pense est primordiale car complètement perdu.

  11. #31
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 71
    Points : 17
    Points
    17
    Par défaut
    Bon après pas mal de bidouilles et autres recherches, j'ai toujours mon problème avec mon tableau si quelqu'un à une idée, merci à lui.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 8
    Dernier message: 11/03/2008, 21h03
  2. Mixage de deux requetes SQL
    Par Myogtha dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 05/11/2007, 12h59
  3. Requete SQL et affichage page
    Par hommefitness dans le forum ASP
    Réponses: 9
    Dernier message: 22/08/2007, 17h36
  4. [SQL] Mise en page d'un tableau oui/non
    Par Seb981 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 31/07/2007, 08h29
  5. [phpBB] 16 Requêtes SQL sur la page index
    Par Heptaeon dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 21/09/2006, 17h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo