Moteur de recherche presque fini :
                    
        
     
             
                    Herozine
    
        
    
                    Messages postés
            
                
     
             
            58
        
            
                                    Statut
            Membre
                    
                -
                                     
Herozine Messages postés 58 Statut Membre -
        Herozine Messages postés 58 Statut Membre -
        Bonjour, 
J'ai programmé avec quelques tutoriels un système de connexion a ma base de données tout est bon (fin, je pense), mais chaque fois que je fais une requête aucun élément ne s'affiche + je me demande s'il n'y a pas un moyen d'afficher les résultats sur une page différentes que celle en php car il y aura mes identifiants dedans.
CODE HTML :
CODE PHP :
Merci d'avance, Herozine
                
            
                
    
    
    
        J'ai programmé avec quelques tutoriels un système de connexion a ma base de données tout est bon (fin, je pense), mais chaque fois que je fais une requête aucun élément ne s'affiche + je me demande s'il n'y a pas un moyen d'afficher les résultats sur une page différentes que celle en php car il y aura mes identifiants dedans.
CODE HTML :
<form method="post" action="connection.php">
</br><input type="text" name="titre" id="titre" size="20" maxlength="50" />
<input type="submit" value="Valider"/>
</form>
CODE PHP :
<?php
//La si j'ai bien compris je créer ma variable $requete
$requete = "SELECT id, titre from 'Pages'";
//je me connecte a mon serveur MySQL
$serveur = "serveur";
$utilisateur = "user";
$passe = "password";
$base = "base"
$connexion = MySQL_connect($serveur, $utilisateur, $passe);
//Je vérifie s'il n'y a pas d'erreur(s)
}
else
{
echo 'Erreur';
}
//Je choisi ma base de donnée
mysql_select_db($base);
//Et la normalement ca devrai afficher les informations reçu
while ($row = mysql_fetch_row($res)) {
echo '<tr>';
for ($j = 0; $j < count($row); $j++) {
echo '<td>';
echo ($row[$j] == NULL) ? '<i>NULL</i>' : $row[$j];
echo '</td>';
}
echo '</tr>';
}
?>
Merci d'avance, Herozine
        A voir également:         
- Moteur de recherche presque fini :
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Google moteur de recherche page d'accueil - Guide
- Copernic moteur de recherche - Télécharger - Utilitaires
- Pourquoi mon moteur de recherche change tout seul ✓ - Forum Virus
- Consultez le code source de cette page. copiez la ligne qui indique aux moteurs de recherche de ne pas référencer la page. ✓ - Forum Référencement
5 réponses
                        
                    Bonjour,
1 - Tu peux séparer la page contenant la connexion à ta BDD du reste de ta page.
Il te suffit ensuite d'en faire un INCLUDE lorsque tu en as besoin
2 - Tu es passé par mysql .... hors .. avec les futurs versions de mysql il est conseillé de passer à mysqli ou à la PDO (encore mieux)
3 - TU créés ta requête... ok
.. tu te connectes à ta BDD ok
.. tu choisis la base .. ok
.. mais à quelle moment LANCES TU la requête ?
Il te manque le $res = mysql_query($requete)
 
 
                
                
    
                1 - Tu peux séparer la page contenant la connexion à ta BDD du reste de ta page.
Il te suffit ensuite d'en faire un INCLUDE lorsque tu en as besoin
2 - Tu es passé par mysql .... hors .. avec les futurs versions de mysql il est conseillé de passer à mysqli ou à la PDO (encore mieux)
3 - TU créés ta requête... ok
.. tu te connectes à ta BDD ok
.. tu choisis la base .. ok
.. mais à quelle moment LANCES TU la requête ?
Il te manque le $res = mysql_query($requete)
                        
                    A merci pour ta réponse jordane45, peut tu me faire un exemple de connexion avec Mysqli, car je veux pas trop me re-tapé les 10 H de recherche sur internet si tu vois ce quie je veux dire.
Merci encore, Herozine
    
                Merci encore, Herozine
    voici un tuto tout fait : https://codular.com/php-mysqli
Sachant que tu peux utiliser deux syntaxes différentes :
La forme objet :
La forme procédurale :
    Sachant que tu peux utiliser deux syntaxes différentes :
La forme objet :
<?php
$mysqli = @new mysqli('localhost', 'fake_user', 'my_password', 'my_db');
// Fonctionne depuis PHP 5.2.9 et 5.3.0.
if ($mysqli->connect_error) {
    die('Erreur de connexion : ' . $mysqli->connect_error);
}else{
 echo " connexion OK !!";
}
?>
La forme procédurale :
<?php
$link = @mysqli_connect('localhost', 'fake_user', 'my_password', 'my_db');
if (!$link) {
    die('Erreur de connexion : ' . mysqli_connect_error());
}else{
   echo " connexion OK !!";
}
?>
    
                        
                    J'ai fais tout comme il faut mais rien ne marche. pourrait tu aussi m'expliquer le système "include" merci d'avance.
CODE HTML : (recherche.html)
CODE PHP : (connection.php)
Herozin
    
                CODE HTML : (recherche.html)
<form method="post" action="connection.php"> </br><input type="text" name="requete" id="requete" size="20" maxlength="50" /> <input type="submit" value="Valider"/> </form>
CODE PHP : (connection.php)
<?php
$bdd = mysqli_connect('serveur', 'user', 'pass', 'db');
if($bdd = mysqli_connect('serveur', 'user', 'pass', 'db'))
{
	
}
else 
{
	echo 'Erreur'; 
}
$req_pre = mysqli_prepare($bdd, 'SELECT * FROM Pages WHERE titre = ?');
mysqli_stmt_bind_param($req_pre, "s", $titre);
$req_pre = mysqli_prepare($bdd, 'INSERT INTO page"s (titre, id, contenu) VALUES ( ?, ?, ?)');
mysqli_stmt_bind_param($req_pre, "sid", $titre, $id, $contenu);
mysqli_stmt_execute($req_pre); 
mysqli_stmt_bind_result($req_pre, $donnees['titre'], $donnees['id'], $donnees['contenu']);
mysqli_stmt_fetch($req_pre);
while(mysqli_stmt_fetch($req_pre))
{
      echo $donnees['titre'] . ", " . $donnees['id'] . " id," . $donnees['contenu'];
}
?>
Herozin
                        
                    Tu te fais une page connexion.php ( elle ne contiendra QUE les infos de connexion à ta BDD)
Puis dans TES autres pages .. tu peux les INCLURE sans avoir à réécrire à chaque fois le code.
recherche.html :
pagederecherche.php :
Après... si ça ne fonctionne toujours pas... penche toi sur l'utilisation des ECHO .. PRINT_R ... sur tes variables pour voir ce qu'elles contiennent.
Penses aussi à tester tes requêtes directement dans ta BDD pour savoir si elles fonctionnent.
    
                
<?php
// Variables à remplacer par LES TIENNES 
$hostname = 'localhost';
$user = 'user';
$pwd = 'pass';
$dataBase = 'ma_database';
// Connexion au serveur :
$bdd= @new mysqli($hostname , $user , $pwd, $dataBase );
// Fonctionne depuis PHP 5.2.9 et 5.3.0.
if ($bdd->connect_error) {
    die('Erreur de connexion : ' . $mysqli->connect_error);
}
?>
Puis dans TES autres pages .. tu peux les INCLURE sans avoir à réécrire à chaque fois le code.
recherche.html :
<form method="post" action="pagederecherche.php"> </br><input type="text" name="requete" id="requete" size="20" maxlength="50" /> <input type="submit" value="Valider"/> </form>
pagederecherche.php :
<?php
session_start();
// on inclus la page de connexion à la BDD:
require_once('connexion.php'); 
//Ensuite on peut utiliser la BDD pour faire des requêtes
//-----------------------------------------------------------------------
//on récupère les données venant de la page html...
$titre = isset($_POST['requete'])?$_POST['requete']:NULL;
$sql = "SELECT * FROM Pages WHERE titre = '?'";
$req_pre = mysqli_prepare($bdd,$sql);
//etc...
?>
Après... si ça ne fonctionne toujours pas... penche toi sur l'utilisation des ECHO .. PRINT_R ... sur tes variables pour voir ce qu'elles contiennent.
Penses aussi à tester tes requêtes directement dans ta BDD pour savoir si elles fonctionnent.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question