Question

Je sais que c'est probablement une question vraiment amateur, mais je ne peux pas comprendre cela et je ne connais pas grand chose à PHP ou à MySQL.

J'ai donc un script très simple qui permet à un utilisateur de soumettre quelques lignes de texte et leur code postal, puis de l'écrire dans une base de données et de renvoyer les résultats sur le site. C'est un shoutbox essentiellement.

Mon client souhaite que les utilisateurs puissent filtrer les résultats par code postal. Donc, tout est configuré et j'ai une entrée de recherche dans laquelle les gens saisissent leur code postal, puis un code de recherche, puis PHP renvoie les soumissions à partir de ce code postal.

Bien que je puisse obtenir les résultats affichés par eux-mêmes en écho au script PHP, comment puis-je les faire afficher dans un div spécifié du site? Je veux qu'il stocke essentiellement une variable, le code postal, dans laquelle un utilisateur effectue une recherche, puis l'utilise une fois la page actualisée pour afficher une liste mise à jour filtrant les résultats ne provenant pas de ce code postal.

Merci beaucoup pour votre aide.

Chris

Était-ce utile?

La solution

Sans entrer dans la réécriture, etc.:

  1. Lorsque vous redirigez votre page, ajoutez une requête à la fin, qui correspond au code postal, afin de vous assurer que vous n'envoyez aucun espace et que vous avez une entrée dans une <. strong> format donné :

    search.php? zipcode = 90210

  2. Ensuite, sur votre page de résultats de recherche, récupérez la variable transmise et fonctionne comme d'habitude:

    $ zipcode = $ _GET ['zipcode'];

  3. assurez-vous que le code postal est correctement échappé et filtré pour les méchants.

Autres conseils

Faites de la page HTML une page PHP (généralement en faisant l’extension .php). Remplacez le contenu du div cible par <?php stuff to get and print results ?>.

Si PHP est installé et configuré sur le serveur Web, certains fichiers (généralement ceux se terminant par .php) seront exécutés et exécutés via l'interpréteur PHP. L'interpréteur PHP est appelé à chaque fois qu'il y a un <?php dans le document et il arrête d'analyser le contenu chaque fois qu'il rencontre un ?> dans le bloc <div><?php print 'Hello World!'; ?></div>.

Par exemple, pour obtenir une page Web à imprimer & "Hello World! &"; en div par PHP, je ferais:

<=>

OK, je l'ai compris. Je viens de stocker ma réponse dans une variable SESSION afin de pouvoir l'appeler dans mes autres fichiers PHP.

Maintenant, un fichier traite la demande, crée la session et la variable, puis redirige la page. Ensuite, j'ai un PHP inclus dans la page qui saisit la variable SESSION et le branche dans mon mysql_query pour retourner le résultat correct!

Je ne sais pas si c'est la meilleure façon de le faire, mais cela fonctionne ... Si quelqu'un connaît une solution plus élégante, j'aimerais bien le savoir.

Merci, Chris

Je vous suggère de faire quelques tutoriels sur l'utilisation de PHP et la récupération de la base de données avec mysqli.

<?php

/* Connect to a MySQL server */
$link = mysqli_connect(
            'localhost',  /* The host to connect to */
            'user',       /* The user to connect as */
            'password',   /* The password to use */
            'world');     /* The default database to query */

if (!$link) {
   printf("Can't connect to MySQL Server. Errorcode: %s\n", mysqli_connect_error());
   exit;
}

/* Send a query to the server */
if ($result = mysqli_query($link, 'SELECT Name, Population FROM City ORDER BY Population DESC LIMIT 5')) {

    print("Very large cities are:\n");

    /* Fetch the results of the query */
    while( $row = mysqli_fetch_assoc($result) ){
        printf("%s (%s)\n", $row['Name'], $row['Population']);
    }

    /* Destroy the result set and free the memory used for it */
    mysqli_free_result($result);
}

/* Close the connection */
mysqli_close($link);
?> 
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top