Liens dans un tableau mysql

Résolu/Fermé
smoana Messages postés 26 Date d'inscription vendredi 21 mai 2010 Statut Membre Dernière intervention 1 novembre 2010 - 3 juin 2010 à 07:04
smoana Messages postés 26 Date d'inscription vendredi 21 mai 2010 Statut Membre Dernière intervention 1 novembre 2010 - 4 juin 2010 à 08:54
Salut,

Voila je n'arrive pas à faire en sorte que les données dans ma dernière colonne apparaissent sous forme de lien.

Voila le code de ma page :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
"http://www.w3.org/TR/REC-html40/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Lecture de la table client</title>
</head>
<body>
<?php
include("connex.inc.php");
$idcom=connex("dubble","myparam");
$requete="SELECT code,ricoh,gestetner,lanier,manuel FROM machines";
$result=@mysql_query($requete,$idcom);
if(!$result)
{
echo "Lecture impossible";
}
else
{
$nbcol=mysql_num_fields($result);
$nbart=mysql_num_rows($result);

//Affichage des titres du tableau
echo "<table border=\"1\"> <tr>";
for($i=0;$i<$nbcol;$i++)
{
echo "<th>", mysql_field_name($result,$i)," </th>";
}
echo "</tr>";
//Affichage des valeurs du tableau
for($i=0;$i<$nbart;$i++)
{
$ligne=mysql_fetch_row($result);
echo "<tr>";
for($j=0;$j<$nbcol;$j++)
{
echo "<td>",$ligne[$j],"</td>";
}
echo "</tr>";
}
echo "</table>";
mysql_free_result($result);
}
?>
</body>
</html>

Mon tableau s'affiche correctement avec ses bordures.

B 248 MP 6500 MP 6500 IS 2265 MP 6500 MP 6500
B 246 MP 5500 MP 5500 IS 2255 MP 6500 MP 5500
B 249 MP 7500 MP 7500 IS 2275 MP 7500 MP 7500
B 064 AF 1060 6005 IS 2060 1060 AF 1060
B 065 AF 1075 7505 IS 2075 7505 AF 1075


Je voudrais que MP 6500,MP 5500,MP 7500,AF 1060,AF 1075 dans la dernière colonne apparaissent sous forme de lien.

Je pense que je dois inserer une instruction de ce genre dans ma requete.
"<a href='" . $ligne['liens'] . "'>" . $ligne['manuel'] . "</a>" ; ?>

Mais comment et ou ca.

Cordialement.

Moana.
A voir également:

8 réponses

AIsTerMas Messages postés 64 Date d'inscription mardi 1 juin 2010 Statut Membre Dernière intervention 7 octobre 2010
Modifié par AIsTerMas le 3/06/2010 à 07:19
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
"http://www.w3.org/TR/REC-html40/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Lecture de la table client</title>
</head>
<body>
<?php
include 'connex.inc.php';
$idcom=connex("dubble","myparam");
$requete="SELECT code,ricoh,gestetner,lanier,manuel FROM machines";
$result=@mysql_query($requete,$idcom);

if(!$result)
{
echo 'Lecture impossible';
}
else
{
	$nbcol=mysql_num_fields($result);
	$nbart=mysql_num_rows($result);

	//Affichage des titres du tableau
	echo '<table border="1"> <tr>';
	for($i=0;$i<$nbcol;$i++)
	{
		echo '<th>' , mysql_field_name($result,$i) , ' </th>';
	}
	echo '</tr>';
	
	//Affichage des valeurs du tableau
	for($i=0;$i<$nbart;$i++)
	{
	$ligne=mysql_fetch_row($result);
	echo '<tr>';
	for($j=0;$j<$nbcol;$j++)
	{
		echo '<td><a href="' , $ligne[$j] , '" >' , $ligne[$j] , '</a></td>';
	}
	echo '</tr>';
}
	
echo '</table>';
mysql_free_result($result);
}
?>
</body>
</html>

Jeune programmeur.
0
Gremy87 Messages postés 352 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 19 mars 2014 38
3 juin 2010 à 10:19
euh ce code me parait bien mais la concaténation en PHP c est le " . " et non la virgule que tu as mise.

echo '<td><a href="' , $ligne[$j] , '" >' , $ligne[$j] , '</a></td>';

devient:

echo '<td><a href="' . $ligne[$j] . '" >' . $ligne[$j] . '</a></td>';
0
AIsTerMas Messages postés 64 Date d'inscription mardi 1 juin 2010 Statut Membre Dernière intervention 7 octobre 2010
3 juin 2010 à 12:40
On peut mettre la virgule et le point. La virgule est mieux pour les echo, question d'optimisation du code.
0
Gremy87 Messages postés 352 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 19 mars 2014 38
3 juin 2010 à 14:03
ok, j'en apprend tous les jours, c'est ca l'informatique...
0
smoana Messages postés 26 Date d'inscription vendredi 21 mai 2010 Statut Membre Dernière intervention 1 novembre 2010
3 juin 2010 à 19:30
Salut AIsTerMas,

Merci pour l'information. Mais ce n'est pas réellement ce que je cherche, c'est presque ça.

Car dans ton code tous les colonnes pointent vers un liens.

Toutes les données des colonnes code, ricoh, gestetner, manuel pointent vers un liens.

Je voudrais uniquement les données de la colonne manuel pointent vers un lien.

Merci d'avance.

Cordialement.

Moana.
0

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

Posez votre question
AIsTerMas Messages postés 64 Date d'inscription mardi 1 juin 2010 Statut Membre Dernière intervention 7 octobre 2010
3 juin 2010 à 19:38
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
"http://www.w3.org/TR/REC-html40/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Lecture de la table client</title>
</head>
<body>
<?php
include 'connex.inc.php';
$idcom=connex("dubble","myparam");
$requete="SELECT code,ricoh,gestetner,lanier,manuel FROM machines";
$result=@mysql_query($requete,$idcom);

if(!$result)
{
echo 'Lecture impossible';
}
else
{
	$nbcol=mysql_num_fields($result);
	$nbart=mysql_num_rows($result);

	//Affichage des titres du tableau
	echo '<table border="1"> <tr>';
	for($i=0;$i<$nbcol;$i++)
	{
		echo '<th>' , mysql_field_name($result,$i) , ' </th>';
	}
	echo '</tr>';
	
	//Affichage des valeurs du tableau
	for($i=0;$i<$nbart;$i++)
	{
	$ligne=mysql_fetch_row($result);
	echo '<tr>';
	for($j=0;$j<$nbcol;$j++)
	{
		echo '<td><a href="' , $ligne[$j] , '" >' , $ligne[$manuel] , '</a></td>';
	}
	echo '</tr>';
}
	
echo '</table>';
mysql_free_result($result);
}
?>
</body>
</html>

0
smoana Messages postés 26 Date d'inscription vendredi 21 mai 2010 Statut Membre Dernière intervention 1 novembre 2010
4 juin 2010 à 02:07
Salut AIsTerMas,

J'ai essaye ton nouveau code. Maintenant j'ai mon tableau qui s'affiche mais elle sont vide je n'ai plus aucune données à l'intérieur.

Il n'y a que les entêtes des colonnes qui apparaissent.

As tu une solution a me donner.

Merci .

Moana.
0
AIsTerMas Messages postés 64 Date d'inscription mardi 1 juin 2010 Statut Membre Dernière intervention 7 octobre 2010
4 juin 2010 à 06:44
echo '<td><a href="' , $ligne[$j] , '" >' , $ligne[$manuel] , '</a></td>';


Configure cette ligne par tes données. ;)
0
smoana Messages postés 26 Date d'inscription vendredi 21 mai 2010 Statut Membre Dernière intervention 1 novembre 2010
4 juin 2010 à 08:54
Salut AIsTerMas,

Désolé mais je suis vraiment un débutant en mysql.
j'ai donc encore essayé mais mes cellules restent vides.

De plus j'ai du apporté une modification dans la requête.

La modification pour la requête est ceci :

$requete="SELECT code,ricoh,gestetner,lanier,manuel,parts,liens_manuel,liens_parts FROM machines";

Comme tu peux voir j'ai rajoute 3 colonnes mais elle ne doivent pas toutes s'affficher liens_ manuel et liens_partes ne doivent pas apparaitre.

J'ai donc modifié cela pour l'affichage des entête de colonnes:

for($i=0;$i<6;$i++)

et aussi cela pour mes colonnes:

for($j=0;$j<6;$j++)

Car lorsque mon tableau s'affiche les champs liens_manuel et liens_parts ne doivent pas s'afficher.

Ces deux champs me servent a indique mes liens.Je pense que je dois insérer deux lignes de ce genre dans mon tableau.

echo "<a href='" . $donnees['liens_manuel'] . "'>" . $donnees['manuel'] . "</a>"

echo "<a href='" . $donnees['liens_parts'] . "'>" . $donnees['parts'] . "</a>"

Mais comment insérer cela dans mon tableau et ou.

Comme tu vois par rapport à l'idée de départ maintenant ce sont deux colonnes qui doivent afficher des liens.

J'espère que tu comprendras mon explication, car j'ai fait pas mal de recherche et tu es le seul qui m'aide.

Merci encore pour tous.

Cordialement.

Moana.


P.S:Si tu peux me donner la solution pour l'affichage de deux colonnes avec des liens merci beaucoup
0