Lien + php

hmayda Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -  
 hmayda -
Bonjour ,

j'ai un code php qui permer de affichier tt les produit avec pagination qui son stoker dans mon base de donnee.

Le souice c'est que l'osque je met un lien sur l'image du produit pour prent le categorie de produit mais le nom pas compler cad au lieu de Ordinateur Portable , il prent Ordinateur se tout.(<a href=composants-perepheriques_categorie_produit.php?id=".$row['Categorie']."><img src=".$row['Image']." border='0'></a><br>".$row['Categorie'].")

je narive pas de connaitre d'ou vient le suice par contre il affiche le nom du categorie compler mais le pb juste pour le lien excatement pour le "id".

Voici le script

--------Code-------

<?php
//require("./pass/config.inc.php");

// connexion à la base
$db = mysql_connect('localhost', 'root', '') or die ('Erreur de connexion '.mysql_error());

// sélection de la base
mysql_select_db('monbase',$db) or die ('Erreur de selection '.mysql_error());

/********************************** DEBUT PAGINATION *************************************/
// on va afficher 6 résultats par page, vous pouvez modifier ce chiffre selon votre souhait
$userperpage = 4;
//Nombre indiquant le départ de la requete
$start = isset($_GET['start'])?$_GET['start']:0;
// Nom de la page
$page = basename(__FILE__);
// Compte les enregistrements
$select = "SELECT count(DISTINCT Categorie) as total FROM produit ";
// DEBUT > Protection des caractères spéciaux d'une commande SQL
mysql_real_escape_string($produit);
// FIN > Protection des caractères spéciaux d'une commande SQL
$result = mysql_query($select,$db) or die ('Erreur : '. mysql_error());
$row = mysql_fetch_array($result);
$total2 = $row['total'];

//echo $total2;
/********************************** FIN PAGINATION *************************************/

if($total2 > 0) {
// requête SQL qui récupère tous les enregistrements
$select = "SELECT DISTINCT Categorie,Image FROM produit LIMIT ".$start.",".$userperpage."";
$result = mysql_query($select,$db) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
// Nombres de colonnes max
$NB_COLS = 2;
$i = 0;
echo "<table border=0 cellpadding=0 cellspacing=0 width=100% class=devis_cadre>
<tr align=left>
<td height=31 bgcolor=#FFFFFF colspace=3><p align=center class=devis_titre><img src=images/affairesasaisir2(1).gif width=193 height=17></p> </td>

</tr>\n";
while($row = mysql_fetch_array($result))
{
if ($i == 0)
echo "<tr class=tableau>\n";
echo "<td><a href=composants-perepheriques_categorie_produit.php?id=".$row['Categorie']."><img src=".$row['Image']." border='0'></a><br>".$row['Categorie']."</td>\n";
if (++$i == $NB_COLS) {
echo "</tr>\n";
$i = 0;
}


}
echo "</table>";
}
else
echo "PROBLEME";

/********************************** DEBUT PAGINATION N° *************************************/
// Génération des liens pour l'affichage des pages
echo '<br /><div align="center">Page : ';
$nb_pages = ceil( $total2 / $userperpage );
for($i = 0 ; $i < $nb_pages ; $i++)
{
if ($start != $i * $userperpage) {
echo '<a href="?start='. ($i * $userperpage) .'">'. ($i + 1) .'</a> ';
} else {
echo ($i + 1) .' ';
}
}
echo'</div>';
/********************************** FIN PAGINATION N° *************************************/

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

-----fin code -----

Qui peut me aide svp

Merci
A voir également:

2 réponses

Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
salut,

pour passer un paramètre dans l'url il ne faut pas qu'il ait d'espace.

si tu veux passer "composants-perepheriques_categorie_produit.php?id=ordinateur portable" il faudrait remplacer l'espace par un caractère d'espacement (underscore = "_").
composants-perepheriques_categorie_produit.php?id=ordinateur_portable

ou alors et c'est la solution que je te conseille, mets en place dans ta table de données un identifiant unique qui soit un nombre, comme cela pas de problème de conversion ou de remplacement.
composants-perepheriques_categorie_produit.php?id=1234

et en cadeau, des conseils pour présenter ton message !
-;o)
0
hmayda
 
Bonjour ,

Ca marche bien ,Merci pour votre reponse

je un autre souice mais avec la pagination :

je fait un test sur le valeur enterz : comme suite:

----le code----

$Lenom=$_POST["produit"];
if($Lenom!="")
{
include('rechercheproduits.php');
}

else
{
include('produits.php');
}

----fin code----
dans le fichier rechercheproduit je afficheir -tt les produit dont le nom $Lenom et en promotion avec une pagination
-tt les produit dont le nom $Lenom et non en promotion avec une pagination

dans le fichier produit je afficheir -tt les produit qui sont promotion avec une pagination
-tt les produit qui ne sont pas en promotion avec une pagination


Le code ca marche bien pour les deux fichiers .
le suice pour le pagination de fichier "rechercheproduit " l'osque je clique sur page 2pour avoir les reste du produit qui sont en promotion et dont le nom $Lenom il me ouvre le fichier "produit .php"

par contre la pagination pour le fichier "produit.php " ca marche bien sans pb

je modefier dans chaque code ce scripte -----echo '<a href="?start='. ($i * $userperpage) .'">'. ($i + 1) .'</a> ';
----
cad je utilise start1,start2,...selon monbesion mais tjrs le mm resultat

je ponse le pb claire

qui peut me aidesvp
Merci encors
0