IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Les éléments affichés dans la page de résultats de recherche, puis les détails dans une autre page


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Les éléments affichés dans la page de résultats de recherche, puis les détails dans une autre page
    Le résultat de la recherche provient de la base de données, sur la page de résultats lorsque je clique sur le nom de l'élément recherché, je souhaite être redirigé vers une autre page en consultant plus d'informations sur cet élément dans la base de données!

    Voici le code de l'entreprise:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <?php
     
        $db = new mysqli('localhost', 'root', '', 'search');
     
        if(isset($_POST["submit"]))
        {
            $comName = addslashes($_POST["comName"]);
            $comCountry = addslashes($_POST["comCountry"]);
            $comKey = addslashes($_POST["comKey"]);
            $comDes = addslashes($_POST["comDes"]);
            $comLink = addslashes($_POST["comLink"]);
            $comLogo = $_FILES["comLogo"]["name"];
            $comLogo_tmp = $_FILES['comLogo']['tmp_name'];
     
            move_uploaded_file($comLogo_tmp, "images/$comLogo");
            {
                $sql = "insert into tshirt (comName, comCountry, comKey, comDes, comLink, comLogo) values ('$comName', '$comCountry', '$comKey', '$comDes', '$comLink', '$comLogo')";
     
                $rs = mysqli_query($db, $sql);
     
                if($rs)
                {
                    echo "<script> alert('Company uploaded successfully') </script>";
                }
     
                else
     
                {
                    echo "<script> alert('Uploading failed, please try again.') </script>";
                } 
            }
        }
    ?>

    Page de résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <?php
     
                                $mysqli = new mysqli("localhost", "root", "", "search");
                                if(isset($_GET['search_button'])) 
                                {
                                    $search = $_GET['search'];
                                    if($search=="") 
                                    {
                                    echo "<center> <b> Please write something in Search Box </b> </center>";
                                    exit();
                                    }
                                    $sql = "select * from tshirt where comKey like '%$search%' limit 0, 5";
                                    $rs =  mysqli_query($mysqli, $sql);
                                    if (mysqli_num_rows($rs) < 1) 
                                    {
                                        echo "<center> <h4> <b> Oops !!! Sorry, there is no result found, try again. </b> </h4> </center>";
                                        exit();
                                    }
     
                                echo "<font size='+1' color='#1a1aff'> images for $search</font>";
     
                                while ($row = mysqli_fetch_array($rs)) {
                                    echo   "<td>
                                                <table style='margin-top: 10px'>
                                                    <tr>
                                                        <td>
                                                            <a target='_blank' href='images.php?id=$search'><img src='img/$row[5]' height='100px'></a>
                                                        </td>
                                                    </tr>
                                                </table>
                                            </td>";
                                    }
                                }
                            ?>
                        </tr>
                    </table>
                    <?php
                    echo "<a target='_blank' href='images.php?id=$search'><font size='+1' color='#1a1aff'> More Images for $search </font></a>";
     
                    echo "<hr>";
                        $sql1 = "select * from tshirt where comKey like '%$search%' limit 0, 10";
                        $rs1 =  mysqli_query($mysqli, $sql1);
                        while ($row1 = mysqli_fetch_array($rs1))
                        {  
                            echo "<a href='$row1[2]'><font size='4' color='#0000cc'> $row1[1] </font></a><br>";
                            echo "<font size='3' color='#006400'> $row1[2] </font><br>";
                            echo "<font size='3' color='#666666'> $row1[4] </font><br><br>";
                        }
    ?>

    Toutes les réponses sont les bienvenues. Merci!

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    D'ou sort ce "search_button" ?
    Tu ne te serais pas trompé de code pour le premier code ?

    Sinon il faudrait nous décrire quel est ton problème. Ce que donne ton code actuel par rapport à ce que tu souhaiterai obtenir.

    Au passage quand même, il n'y a aucune sécurité sur tes requêtes, c'est une catastrophe. Les addslashes() que tu mets, ça nous fait remonter à PHP3.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par sabotage Voir le message
    D'ou sort ce "search_button" ?
    Tu ne te serais pas trompé de code pour le premier code ?

    Sinon il faudrait nous décrire quel est ton problème. Ce que donne ton code actuel par rapport à ce que tu souhaiterai obtenir.

    Au passage quand même, il n'y a aucune sécurité sur tes requêtes, c'est une catastrophe. Les addslashes() que tu mets, ça nous fait remonter à PHP3.
    Merci, pour votre réponse.

    "search_button" c'est le bouton de recherche sur la page search.php.

    Voilà mon problème : J'ai 2 pages (search.php où je mets les mots clé pour la recherche, result.php (pour afficher le résultat de la recherche) et je veux créer une 3ème page pour afficher plus de détails sur chaque élément recherché. C'est-à-dire, en cliquant sur le nom de l'élément sur la page (result.php), le clique me redirige vers la 3ème page que je veux créer.

    Concernant, la sécurité sur mes requêtes, tu me conseils quoi ?

    Pour les addslaches, aucun problèmes, je peux les enlever .

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Et c'est quoi le premier code que tu nous as montré dans tout ça ?
    Et ou est le code de la troisième page pour le détail ? Tu n'as rien écris du tout ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Et c'est quoi le premier code que tu nous as montré dans tout ça ?
    Et ou est le code de la troisième page pour le détail ? Tu n'as rien écris du tout ?
    Le premier code pour ajouter les informations de chaque entreprise dans la base de données.

    Pour le code de la 3éme page, justement, c'est ça le problème ! Je veux connaitre comment faire pour me rediriger vers la 3ème page.
    Puisque j'ai essayé action et méthode, mais ça marchait pas, surtout parce que je veux que le clique me redirige vers les informations de l'élément lequel que j'ai cliqué

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Un simple lien avec l'id de l'élement à afficher en paramètre suffit.
    Après dans la troisième page, il faut simplement un requête qui va lire les infos de cet id.

    D'ailleurs il y a déjà un lien dans ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<a href='$row1[2]'><font size='4' color='#0000cc'> $row1[1] </font></a><br>";
    il sert à quoi ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Ca sert pour afficher le nom de l'entreprise sur la page de résultat.

  8. #8
    Candidat au Club
    Homme Profil pro
    Entraineur
    Inscrit en
    Août 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Italie

    Informations professionnelles :
    Activité : Entraineur

    Informations forums :
    Inscription : Août 2017
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Un simple lien avec l'id de l'élement à afficher en paramètre suffit.
    Après dans la troisième page, il faut simplement un requête qui va lire les infos de cet id.

    D'ailleurs il y a déjà un lien dans ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<a href='$row1[2]'><font size='4' color='#0000cc'> $row1[1] </font></a><br>";
    il sert à quoi ?
    Bonjour,
    J'ai vraiment besoin d'une solution sur un projet pareil.
    Est-ce que tu peux me donner un exemple sur le lien avec l'id de l'élément à afficher en paramètre ? Ainsi un exemple de la requête qui va lire l'id dans la troisième page.
    Svp
    Merci

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Un exemple de lien, tu l'as déjà dans ton code actuel.
    Au lieu de transmettre le nom, tu mets l'id.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Candidat au Club
    Homme Profil pro
    Entraineur
    Inscrit en
    Août 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Italie

    Informations professionnelles :
    Activité : Entraineur

    Informations forums :
    Inscription : Août 2017
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Un exemple de lien, tu l'as déjà dans ton code actuel.
    Au lieu de transmettre le nom, tu mets l'id.
    L'exemple de lien est là, et l'exemple de la requête qui va lire l'id sur la 3ème page ?

  11. #11
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est la même chose que tu fais déjà quand tu fais ta recherche sur le nom sauf que tu cherches l'id exact.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  12. #12
    Candidat au Club
    Homme Profil pro
    Entraineur
    Inscrit en
    Août 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Italie

    Informations professionnelles :
    Activité : Entraineur

    Informations forums :
    Inscription : Août 2017
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par sabotage Voir le message
    C'est la même chose que tu fais déjà quand tu fais ta recherche sur le nom sauf que tu cherches l'id exact.
    J'ai essayé mais ça fonctionnait pas.

    Stp, tu peux m'expliquer en me donnant un exemple ?

  13. #13
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Montre nous ton code et on pourra te dire où ca coince.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  14. #14
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Voilà le code pour que le clique sur le nom me redirige vers la troisième page (details.php) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<a href='details.php?id=$row1[comName]'><font size='4' color='#0000cc'> $row1[comName] </font></a><br>";
    Ce code fonctionne très bien.

    Et voilà le code que j'ai fais pour obtenir les détails de la base de données en même temps pour les afficher sur la troisième page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
            $mysqli = new mysqli("localhost", "root", "", "search");
                $sql = "select comName, comLogo, comDes, comLink from tshirt";
                $rs =  mysqli_query($mysqli, $sql);
                while ($row = mysqli_fetch_array($rs))
                {      
                    echo "<font size='4' color='#0000cc'> $row[comName] </font></a><br>";
                    echo "<font size='3' color='#006400'> 'images/'.$row[comLogo] </font><br>";
                    echo "<font size='3' color='#666666'> $row[comDes] </font><br><br>";
                    echo "<font size='3' color='#666666'> $row[comLink] </font><br><br>";
                }
     
            ?>
    Malheureusement que ce code ne fonctionnait pas !

    Cela affiche presque la même chose que la page de résultat, la différence c'est le nom du logo (le logo ne s'affiche pas, il n'y a que le nom).

    J'ai essayé avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <form>
        <div><?php echo "$row[comName]"; ?><br></div><br>
        <div>
        <img src="<?php echo 'images/'."$row[comLogo]"; ?>">
        </div><br>
        <div>
        <div><?php echo "$row[comDes]";?></div>
        </div>
        <br>
        <div>
        <div><a href='$row[comLink]'; target="null">Click here to get offers</a></div>
        </div>
    </form>
    Mais ce dernier ne fonctionnait pas aussi, pourtant, je veux bien utiliser html et css pour un bon design

  15. #15
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il manque le WHERE dans la requête de ton premier code.
    Et transmet l'ID plutôt que le nom.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Réponses: 5
    Dernier message: 18/02/2015, 20h53
  2. [MySQL] Afficher le résultat d'une requête dans une autre page
    Par mohamed2006 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 29/02/2008, 21h02
  3. Réponses: 3
    Dernier message: 13/09/2007, 13h33
  4. Afficher une page web dans une autre page sans frame
    Par bahs dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 24/03/2006, 17h51
  5. (html)afficher une page dans une autre page
    Par shirya dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 14/09/2005, 14h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo