2010-04-19 6 views
0

Je fichier « gardens.php », qui tire des données d'une table appelée « generalinfo » et j'utiliser fopen d'envoyer ces données à un fichier appelé 'index.html'. Voici le problème, une seule option est remplie. J'ai une démo en cours d'exécution ici Garden Demo< - c'est une nouvelle page mise à jour et l'emplacement, il y a plus d'erreurs que moi localement Si quelqu'un pouvait me les aider à corriger Nom d'utilisateur: Mot de passe stack1: stack1fopen et str_replace pour remplir automatiquement une option de sélection

Y at-il un meilleur moyen de réaliser ce que je veux?

Merci! Toujours.

GARDENS.PHP

<?php 
    include("connect.php"); 
    $results = mysql_query("SELECT * FROM generalinfo"); 

    while($row = mysql_fetch_array($results)){ 
    $country = $row['country']; 
    $province = $row['province']; 
    $city = $row['city']; 
    $address = $row['address']; 


    //echo $country; 
    //echo $province; 
    //echo $city; 
    //echo $address; 

} 

    $fd = fopen("index.html","r") or die ("Can not fopen the file"); 
     while ($buf =fgets($fd, 1024)){ 
      $template .= $buf; 
     } 

    $template = str_replace("<%country%>",$country,$template); 

    echo $template; 

?> 

INDEX.PHP SNIPPET

<form name="filter" method="get" action="filter.php"> 
    <select class="country" name="country"> 
     <option><%country%></option> 
    </select> 

</form> 

connect.php

<?php 
mysql_connect("mysql.andcreate.com", "*******", "********")or die("Cannot Connect to DB"); 
mysql_select_db("gardencollective")or die("cannot select the DB table"); 
mysql_close(); 
?> 
+1

Eh bien dans le fichier que vous n'avez qu'un seul '' <%country%>, comment peut-il remplacer plus? Aussi, vous le faites en dehors de votre boucle while et '$ country' aura la valeur de la dernière boucle. –

+0

Je viens de réaliser que, j'ai oublié de copier ma base de données locale jusqu'au serveur et de renommer quelque chose, le nom réel apparaît localement, laissez-moi changer cela maintenant. –

+0

Oui, il est en dehors de la boucle, si je le fais dans la boucle index.html répète encore et encore, je pourrais le faire en arrière, je devrais inclure cet extrait dans le fichier gardens.php et l'inclure dans la barre latérale de l'index .html –

Répondre

1

Utilisez-vous cette extrait dans un autre fichier PHP aussi bien? Sinon, vous pouvez simplement intégrer dans votre fichier gardens.php:

<?php 
    include("connect.php"); 
    $results = mysql_query("SELECT * FROM generalinfo"); 
    $infos = array(); 
    while($row = mysql_fetch_array($results)){ 
     $infos[] = $row; 
    } 
?> 

<form name="filter" method="get" action="filter.php"> 
    <select class="country" name="country"> 
     <?php foreach($infos as $info): ?> 
      <option><?php echo $info['country'] ?></option> 
     <?php endforeach; ?> 
    </select> 
</form> 
+0

Eh bien, je suis en quelque sorte en utilisant le fichier index.html comme un modèle et en ajoutant les informations de gardens.php à cela via fopen –

+0

je reçois cette erreur sur cette page http://gardening.andcreate.com/gardens. php qui est celui que je voulais que tu regardes J'ai mélangé quelques trucs dans mon explication que je dois corriger. –

+0

@Anders Kitson: Eh bien, il semble que vous n'ayez aucune connexion avec votre serveur de base de données. Qu'y a-t-il dans 'connect.php'? –

Questions connexes