PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Re : Forum Général PHP » affichage page par page, problème depuis que j'ai changer pour PDO » 20-06-2009 06:58:47

j'ai fait

var_dump($row);

et j'obtien

bool(false)

alors comment règler ce problème?

#2 Re : Forum Général PHP » affichage page par page, problème depuis que j'ai changer pour PDO » 20-06-2009 06:58:47

j'ai installer un serveur en local, donc je php m'affiche les erreurs, ce que j'ai pas avec mon hebergeur.

l'erreur que j'ai c'est

Fatal error: Unsupported operand types in C:\wamp\www\include\fonction.inc.php on line 74


function affichePages($nombre,$page,$total) {
        $nbpages = ceil($total/$nombre);       <-------- Ligne 74
        $numeroPages = 1;
        $compteurPages = 1;
        $limite  = 0;
        echo '<table border = "0" ><tr>'."\n";
        while($numeroPages <= $nbpages) {
        echo '<td ><a href = "'.$page.'&limite='.$limite.'">'.$numeroPages.'</a></td>'."\n";
        $limite = $limite + $nombre;
        $numeroPages = $numeroPages + 1;
        $compteurPages = $compteurPages + 1;
            if($compteurPages == 10) {
            $compteurPages = 1;
            echo '<br>'."\n";
            }
        }
        echo '</tr></table>'."\n";
}
 

c'est quoi qui cloche avec l'operateur de division?

#3 Re : Forum Général PHP » affichage page par page, problème depuis que j'ai changer pour PDO » 20-06-2009 06:58:47

ca fonctionne pas, mais est-ce que ca pourrais venir de ce bout la

$select = $db->prepare('SELECT count(id) FROM commentaire WHERE nom = ?');
$select->execute(array($_GET['nom']));
$row = $select->fetchall(PDO::FETCH_NUM);   <---- Pas certain que ce soit bon
$total = $row[0];

#4 Forum Général PHP » affichage page par page, problème depuis que j'ai changer pour PDO » 20-06-2009 06:58:47

pierre-luc
Réponses : 7

bonjour,

j'ai des problèmes avec l'affichage page par page, depuis que j'ai changer pour PDO. En fait les commentaires s'affiche, mais apres ca plante. Je peux pas vous donner de message d'erreur, car on dirait que mon hebergeur ne les affiches pas.

<?php


$nombre = 10;
if (!isset($limite)) $limite = 0;
$path_parts = pathinfo($_SERVER['PHP_SELF']);
$page = $path_parts['basename'].'?nom='.$_GET['nom'];

$select = $db->prepare("SELECT count(id) FROM commentaire WHERE nom = ?");
$select->execute(array($_GET['nom']));
$row = $select->fetchall(PDO::FETCH_NUM);
$total = $row[0];

$verifLimite = verifLimite($limite,$total,$nombre);

if(!$verifLimite)  {
    $limite = 0;
}

$select = $db->prepare('select id,commentaires,proprete,acceuil,confort,etat_hotel,emplacement,usager,date,sujet,moyenne FROM commentaire WHERE nom = ? ORDER BY date ASC limit '.$limite.','.$nombre);
$select->execute(array($_GET['nom']));

$limitesuivante = $limite + $nombre;
$limiteprecedente = $limite - $nombre;

if($total) {
while($row = $select->fetch()) {

echo '<table><tr><td width="300">';

echo $lang_description['ECRIT'].$row['usager'];
echo '</td></tr><tr><td><b>'.$row['sujet'].'</b><br/>  '.$row['date'];
echo '</td><td valign="top">'.$lang_description['NOTE'].': <font color="#CC9900">'.$row['moyenne'].'/5</font></td></tr>';
echo '<tr><td colspan="3" width="700"><br/>'.$row['commentaires'];
echo '</td></tr></table>';
echo '<center><hr width="300"/></center>';
}
}
else

echo $lang_description['AUCUN'];

if($limite != 0) {
    echo '<a href="'.$page.'?limite='.$limiteprecedente.'">Page précédente</a>';
}
if($total > $nombre) {

   
    affichePages($nombre,$page,$total);
   
   
}
if($limitesuivante < $total) {
    echo '<a href="'.$page.'?limite='.$limitesuivante.'">Page Suivante</a>';
}

?>

#5 Re : Forum Général PHP » formulaire de recherche » 25-05-2009 12:26:59

merci pour l'info, mais peut importe ou je met le quote() ca fonctionne pas.


alors pourrais tu m'éclairer pour me dire ou placer le quote. si je le met 

$nom = quote($_GET['nom']);

ca ne fonctionne pas

et la non plus

$statement = $db->prepare("SELECT filepath,filename,numero,nom FROM photo WHERE nom = quote(:nom) AND numero = '1'");

et la non plus

$statement->bindParam(":nom", quote($nom));

pourtant la doc n'est pas difficile a comprendre smile

#6 Re : Forum Général PHP » formulaire de recherche » 25-05-2009 12:26:59

ca fonctionne, mais est-ce que seulement en utilisant PDO c'est assez ou je dois sécuriser mes variables qui sont passer par url

$nom = $_GET['nom'];

$statement = $db->prepare("SELECT filepath,filename,numero,nom FROM photo WHERE nom = :nom AND numero = '1'");
$statement->bindParam(":nom", $nom);
$statement->execute();
$data = $statement->fetch();

#7 Re : Forum Général PHP » formulaire de recherche » 25-05-2009 12:26:59

j'ai lu sur le sujet de PDO et j'ai commencer a l'utiliser sauf que la je suis bloquer.

rien ne s'affiche et j'ai aucun message d'erreur.

$statement = $db->prepare('SELECT hotel.nom, hotel.etoile, hotel.ville, hotel.web, photo.filepath, photo.filename, photo.numero  FROM hotel, photo  WHERE photo.nom = :nom AND photo.numero = :un ORDER BY RAND() limit 0,5');
$statement->execute(array(':nom' => $nom, ':un' => $un));
$data = $statement->fetch();

echo $data['nom'];

#8 Re : Forum Général PHP » formulaire de recherche » 25-05-2009 12:26:59

Maljuna Kris a écrit :

J'ajoute que le recours malin à PDO, t'affranchirait, entre autres, des préoccupations de type mysql_real_escape_string.

est-ce que tu pourrais m'expliquer un peu plus le PDO? car je suis pas certain d'avoir compris les explications que j'ai trouver sur google.

#9 Re : Forum Général PHP » formulaire de recherche » 25-05-2009 12:26:59

comment faire pour ajouter

MATCH nom AGAINST('".mysql_real_escape_string($_POST['search'])."')

la colonne nom est dans ma table hotel

a cette requete

$sql = 'SELECT hotel.nom, hotel.etoile, hotel.ville, hotel.web, photo.filepath, photo.filename, photo.numero  FROM hotel, photo  WHERE photo.nom = hotel.nom AND photo.numero="1" ';

#10 Re : Forum Général PHP » formulaire de recherche » 25-05-2009 12:26:59

j'utilise mysql.

si j'ai une colonne "nom" et que dans le formulaire de recherche je met "royal" il me sort correctement ce que je cherche "Royal decameron costa..." par contre si je met "royal +costa"  il me sort rien alors comment faire pour que le formulaire puisse lire l'operateur + comme dans un moteur de recherche. Et si le mot est mal ortaugraphier, par exemple : "reyal" est-ce possible de quand même afficher "royal....".

#11 Forum Général PHP » formulaire de recherche » 25-05-2009 12:26:59

pierre-luc
Réponses : 15

bonjour,

sur mon site je veux faire un formulaire pour que les visiteurs puisse chercher dans ma base de donné, mais comment faire pour gérer plusieurs mots clé? et gérer également les +""and etc...

j'ai besoin d'aide
merci

Pied de page des forums

Propulsé par FluxBB