Simplifier une requête et affichage dans un tableau

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Simplifier une requête et affichage dans un tableau

Re: Simplifier une requête et affichage dans un tableau

par xTG » 30 avr. 2012, 23:20

Re: Simplifier une requête et affichage dans un tableau

par debutant10 » 30 avr. 2012, 20:23

Oui la requête c bon c pour l'affichage comment faire un simple tableau qui affiche les resultats de la table
 Pour le bgcolor qui se répète tu peux regarder du côté de CSS et faire une class pour les TDs de ton TABLE.
ne sais pas faire qq un peut-il m'aider ?

Re: Simplifier une requête et affichage dans un tableau

par xTG » 30 avr. 2012, 14:58

Pour le bgcolor qui se répète tu peux regarder du côté de CSS et faire une class pour les TDs de ton TABLE.

Re: Simplifier une requête et affichage dans un tableau

par visualight » 30 avr. 2012, 14:33

Pour faire simple :
$select = 'SELECT * FROM tfi2003_contacts ';
Sinon, pour le reste y a pas grand chose à faire (à moins que j'ai mal compris) ?

Re: Simplifier une requête et affichage dans un tableau

par debutant10 » 29 avr. 2012, 15:47

le code que j'ai mis fonctionne très bien encore une fois pour être plus précis je souhaite simplement simplifier la reqête sql :
$select = 'SELECT [b][b]prenom,nom,titre,phone,email,no,cp, ect.....[/b][/b] FROM tfi2003_contacts ';
car j'ai 18 champs je souhaite simplement afficher directement tte la table sa à chaque fois ;


avoir un code très long pour l'affichage est-ce possible de simplifier ?
if($total) {
    // début du tableau
    echo '<table bgcolor="#FFFFFF">'."\n";
        // première ligne on affiche les titres prénom et surnom dans 2 colonnes
        echo '<tr>';
        echo '<td bgcolor="#669999"><b><u>Prénom</u></b></td>';
        echo '<td bgcolor="#669999"><b><u>nom</u></b></td>';
                echo '<td bgcolor="#669999"><b><u>titre</u></b></td>';
        echo '<td bgcolor="#669999"><b><u>phone</u></b></td>';
                echo '<td bgcolor="#669999"><b><u>email</u></b></td>';
                echo '<td bgcolor="#669999"><b><u>no</u></b></td>';
                echo '<td bgcolor="#669999"><b><u>cp</u></b></td>';
                echo '</tr>'."\n";
    // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.    
    while($row = mysql_fetch_array($result)) {
        echo '<tr>';
        echo '<td bgcolor="#CCCCCC">'.$row['prenom'].'</td>';
        echo '<td bgcolor="#CCCCCC">'.$row['nom'].'</td>';
        echo '<td bgcolor="#CCCCCC">'.$row['titre'].'</td>';
                echo '<td bgcolor="#CCCCCC">'.$row['phone'].'</td>';
                echo '<td bgcolor="#CCCCCC">'.$row['email'].'</td>';
                echo '<td bgcolor="#CCCCCC">'.$row['no'].'</td>';
                echo '<td bgcolor="#CCCCCC">'.$row['cp'].'</td>';
                
                echo '</tr>'."\n";
    }
    echo '</table>'."\n";
    // fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';

// on libère le résultat
mysql_free_result($result);

?>
</body>
</html>    

Re: Simplifier une requête et affichage dans un tableau

par sirakawa » 29 avr. 2012, 09:12

À vue de nez, si tu fais un die() quand la requete échoue, il est inutile de s'embêter avec total.
A)
$result = msql_query () or die()
// si on passe dans die, le script s'arrête, je suppose?

B)
total = mysql_num_rows(result)
if ($total)
1) choque ma conceprion : en effet tu traites un entier comme un booléen
2) Si tu y tiens vraiment
if ($result)
encore que si on arrive-là c'est que $result est true. C'est le rôle de die() qui est conceptuellement un goto. On pourrait en effet écrire:
$result = mysql_query();
if ($result)
{
affichage....
}
else
{
explications sur l'absence d'affichage
}
C) Quel est le problème exact?

Simplifier une requête et affichage dans un tableau

par debutant10 » 28 avr. 2012, 13:58

Bonjour,

Est-il possible de simplifier une requête et un affichage

Voici mon code ci-dessous qui fonctionne très bien mais cependant très long pour les mises à jour ect... et en + il affiche pas ttes les données de ma table :(

Est-il possible de remplacer ma requête pour afficher tt les champs de ma table avec tt les résultats ect..

sans
$select = 'SELECT prenom,nom,titre,phone,email,no,cp FROM tfi2003_contacts ';
à chaque fois ajouter enlever ect.. merci pour votre aide


<html>
<body>
<?php

$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'import';


$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());


$select = 'SELECT prenom,nom,titre,phone,email,no,cp FROM tfi2003_contacts ';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);


// si on a récupéré un résultat on l'affiche.
if($total) {
    // début du tableau
    echo '<table bgcolor="#FFFFFF">'."\n";
        // première ligne on affiche les titres prénom et surnom dans 2 colonnes
        echo '<tr>';
        echo '<td bgcolor="#669999"><b><u>Prénom</u></b></td>';
        echo '<td bgcolor="#669999"><b><u>nom</u></b></td>';
		echo '<td bgcolor="#669999"><b><u>titre</u></b></td>';
        echo '<td bgcolor="#669999"><b><u>phone</u></b></td>';
		echo '<td bgcolor="#669999"><b><u>email</u></b></td>';
		echo '<td bgcolor="#669999"><b><u>no</u></b></td>';
		echo '<td bgcolor="#669999"><b><u>cp</u></b></td>';
		echo '</tr>'."\n";
    // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.    
    while($row = mysql_fetch_array($result)) {
        echo '<tr>';
        echo '<td bgcolor="#CCCCCC">'.$row['prenom'].'</td>';
        echo '<td bgcolor="#CCCCCC">'.$row['nom'].'</td>';
        echo '<td bgcolor="#CCCCCC">'.$row['titre'].'</td>';
		echo '<td bgcolor="#CCCCCC">'.$row['phone'].'</td>';
		echo '<td bgcolor="#CCCCCC">'.$row['email'].'</td>';
		echo '<td bgcolor="#CCCCCC">'.$row['no'].'</td>';
		echo '<td bgcolor="#CCCCCC">'.$row['cp'].'</td>';
		
		echo '</tr>'."\n";
    }
    echo '</table>'."\n";
    // fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';

// on libère le résultat
mysql_free_result($result);

?>
</body>
</html>