Tableau

Résolu
mugiwara437 Messages postés 85 Date d'inscription   Statut Membre Dernière intervention   -  
Benoit A. Messages postés 455 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Alors voila ma question:

J'ai afficher sur une page php une requête qui consistes à afficher chaque site inscrit dans ma table sql. Les informations s'affiche de la manière suivante:

Nom du site:google.fr
Nombre de visite:457

Nom du site:youtube.com
Nombre de visite:965

et sa continue ainsi pour chaque site. Je voudrais qu'il soit dans la forme d'un tableau comme ceci:

Nom du site | nombre de visite
google.fr | 457
youtube.fr | 965

vous voyez le genre. Je voudrais savoir le code à insérer dans ma page pour pouvoir le faire.

Merci d'avance
A voir également:

9 réponses

Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
 
En théorie, faut passer en mysqli ou en PDO.
mysql_ est déprécié et prochainement supprimé.
3
Benoit A. Messages postés 455 Date d'inscription   Statut Membre Dernière intervention   515
 
Tu peux t'aider de ce tuto :

https://php.developpez.com/cours/

De manière générale tu dois créer un tableau en format HTML qui sera interprété par ta requête PHP.
2
Benoit A. Messages postés 455 Date d'inscription   Statut Membre Dernière intervention   515
 
Essaye ça :


 echo "<table>";
        echo "<tr>
                       <th>Nom du site</th>
                       <th>Nombre de visite</th> 
                   </tr>";

while($row = mysql_fetch_array($req)){
       echo "<tr>
                       <th>$row['id_cmd'].</th>
                       <th>$row['etat']</th> 
                   </tr>";        
 }
echo "</table>";
1
-helper- Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   27
 
Pouet !

Rimolas : Je t'ai déjà répondu à ce sujet... Hormis troller cette phrase en boucle, tu justifies ça comment !??
On a exactement la même réplique ici : https://forums.commentcamarche.net/forum/affich-30199656-erreur-requete-mysql (t'es payé pour dire ça) lol !

C'est facile de dire que c'est "grave"... Es tu capable de dire pourquoi !??? Et que conseilles-tu toi le pro de la connexion Mysql sous PHP !???

Voici exactement ce que vous apporterait les 2 autres extensions :
- Une interface orientée objet
- Support des requetes préparées
- Support du multi-requetes
- Support des transactions
- Outils de debug améliorés
- Serveur embarqué
- Et je l'ai pas vu dans la doc officielle, mais la gestion des exceptions (va plus ou moins avec le concept objet) et aussi intéressante, notamment quand on veut faire un commit ou rollback en cas de succes / erreur lors d'une transaction...
Source, la doc : https://www.php.net/manual/en/mysqli.overview.php

Honnêtement dans ce qui précède, je n'ai pas vu de code orienté objet, ni de requêtes préparées, ni de requêtes imbriquée, ni de transaction, et ils ont déjà du mal à placer un var_dump pour debugger... Bref, je vois mal ce que ça peut leur apporter...

Par contre, ce qui est dommage c'est de ne pas utiliser certains outils proposés par les nouvelles extensions citées par Nhay... Notamment les requêtes préparées qui vous permettrait d'acquérir de bonnes pratiques (surtout en matière de sécurité et fiabilité).... Ne pas échapper les variables venant de l'utilisateur c'est ULTRA Dangereux, je l'ai déjà dit plein de fois...
De la doc officielle ici : https://www.php.net/manual/en/mysqlinfo.api.choosing.php

Bref un outil ne vaut que si il est bien utilisé (Mysql, Mysqli, ou PDO)...

Mais je confirme ce qu'a dit Nhay, il faut éviter d'utiliser Mysql dans un projet car cette extension est vouée à disparaître...


Le même code écrit en Mysqli (vous allez voir c'est fondamentalement différent ! lol, faut rajouter un i à la fin de mysql) :

<?php
$link=mysqli_connect('localhost','root','') or die("Connexion impossible");

$db_selectionned=mysqli_select_db('LoganalysisToolKit',$link);
if (!$db_selectionned){
 die("Impossible d acceder a la base de donnée".mysqli_error());
}

$sql = "SELECT destip,count(*) from proxyData groub by destip order by count(*)desc";
$req = mysqli_query($sql) or die('Erreur SQL : <br />'.$sql);
echo "Voici la liste des sites les plus connectés : <br>";
while($row = mysqli_fetch_array($req)){
 echo "Nom du site :".$row['id_cmd']."<br>";
 echo "Nombre de visite :".$row['etat']."<br>";
 echo "</br>";
 }
 
?>


S@M
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mugiwara437 Messages postés 85 Date d'inscription   Statut Membre Dernière intervention   155
 
J'ai regarder le tuto mais je ne comprend pas ou mettre les balises :/

Voici le code ma page:

<html>
<head>
<meta http-equiv="Content-type" content="text/html;charset=ISO-8859-1"/>
<title></title>
</head>
<body>
<center>
<?php
$link=mysql_connect('localhost','root','') or die("Connexion impossible".mysql());


$db_selectionned=mysql_select_db('LoganalysisToolKit',$link);
if (!$db_selectionned){
	die("Impossible d acceder a la base de donnée".mysql_error());
}

$sql = "SELECT destip,count(*) from proxyData groub by destip order by count(*)desc";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
echo "Voici la liste des sites les plus connectés : <br>";
while($row = mysql_fetch_array($req)){
	echo "Nom du site :".$row['id_cmd']."<br>";
	echo "Nombre de visite :".$row['etat']."<br>";
	echo "</br>";
	}
	
?>
</center>
</body>
</html>


Il est basique, et je ne vois pas comment faire le tableau
0
mugiwara437 Messages postés 85 Date d'inscription   Statut Membre Dernière intervention   155
 
sa fonctionne !:D merci beaucoup!!

Mais par contre j'ai un grand espace entre le début de la page et le tableau. C'est normal?
0
Benoit A. Messages postés 455 Date d'inscription   Statut Membre Dernière intervention   515
 
la balise <br> avant le while n'est pas fermé. Ca pourrait être le problème mais je n'en suis pas sûr. Là il faudrait que tu nous montres la page pour voir...

Si le problème est résolu merci de bien vouloir l'indiquer dans ton sujet
0
mugiwara437 Messages postés 85 Date d'inscription   Statut Membre Dernière intervention   155
 
parce que tu utilises quoi?
0
mugiwara437 Messages postés 85 Date d'inscription   Statut Membre Dernière intervention   155
 
@Benoit.A: Je ne vois pas quel balises <br> n'est pas fermé :s et je vais mettre le sujet en résolu de ce pas ^^

@-helper- merci, je suis effectivement passé en mysqli maintenant ^^ et je comprend pas non plus pourquoi rimolas met sa a toutes les sauces ^^"


et voila le soucis avec l'alignement du tableau :)
0
Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
 
Le problème n'est pas qu'une balise <br> soit mal fermé, mais plutôt qu'elle soit mal placé.
Le code a l'intérieur de balise <table> mais en dehors de balise <td> est souvent affiché avant le tableau.
Si tu a donc fermer le td avant ton br, il passe tous devant.
0
Benoit A. Messages postés 455 Date d'inscription   Statut Membre Dernière intervention   515
 
<html>
<head>
<meta http-equiv="Content-type" content="text/html;charset=ISO-8859-1"/>
<title></title>
</head>
<body>
<center>
<?php
$link=mysql_connect('localhost','root','') or die("Connexion impossible".mysql());


$db_selectionned=mysql_select_db('LoganalysisToolKit',$link);
if (!$db_selectionned){
die("Impossible d acceder a la base de donnée".mysql_error());
}

$sql = "SELECT destip,count(*) from proxyData groub by destip order by count(*)desc";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
echo "Voici la liste des sites les plus connectés : <br/>";
echo "<table>";
echo "<tr>
<th>Nom du site</th>
<th>Nombre de visite</th>
</tr>";

while($row = mysql_fetch_array($req)){
echo "<tr>
<th>$row['id_cmd'].</th>
<th>$row['etat']</th>
</tr>";
}
echo "</table>";
</center>
</body>
</html>
0
Utilisateur anonyme
 
Utiliser encore la fonction mysql_query en 2014 ! C'est grave !
-4
-helper- Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   27
 
Cf message plus bas...
0