2009-07-28 8 views
1

J'essaie de placer des éléments dynamiquement d'une base de données mysql dans un panier (jcart). J'ai une page avec 3 divs et tous contiennent un formulaire pour le panier (code du formulaire ci-dessous). Je saisis des informations de la base de données et les place dans le formulaire.Placez dynamiquement les informations mysql dans les divs avec les identifiants

La première div obtient l'information correctement, mais la deuxième div affiche exactement la même chose et la même chose que la troisième div (je suppose de la boucle php). Je veux que chaque formulaire à remplir avec l'ID correspondant de la base de données, de sorte que chaque div est différent. Dans ce cas, j'ai trois sites Web 1.Leftlane Nouvelles 2. MotorAuthority 3. Autoblog dans la base de données. puis j'ai des bases de données séparées pour chaque site avec le même nom, dans ces db est l'information qui remplit le formulaire de panier pour chaque site. Donc, le problème est que je ne peux pas obtenir les informations div correspondantes à afficher. Y at-il de toute façon pour saisir l'info d'un id ou quelque chose et afficher 1.leftlane Nouvelles -> leftlane nouvelles panier info 2. Motorauthority -> Motorauthority cart info 3. Autoblog -> Infos panier Autoblog.

ici est le principal fichier php qui met tout ensemble:

<?php 

function outputListingsTable() 
{ 
    include("property.php"); 

    $mysql = new mysqli('localhost', 'root', 'root', 'ajax_demo') or die('you\'re dead'); 
    $result = $mysql->query("SELECT * FROM explore") or die($mysql->error); 

if($result) 
{ 
     echo "<div id=\"MyContentArea\"> \n"; 
           while($row = $result->fetch_object()) 
           { 
             $id = $row->id; 
        global $siteName; 
             $siteName = $row->site_name; 
        global $siteDescription; 
             $siteDescription = $row->site_description; 
        global $siteURL; 
             $siteURL = $row->site_url; 
        global $sitePrice; 
             $sitePrice = $row->site_price; 

             echo "<div id=\"main-info-" .$id. "\" class=\"maini\"> \n"; 
             echo " " . $siteName . " \n"; 
             echo " " . $siteURL . " \n"; 
             echo " <a id=\"link-" . $id . "\" class=\"more-info-link\" href=\"#\">More info</a> \n";  
             echo "</div> \n"; 

         echo "<div id=\"more-info-" .$id. "\" class=\"mi\"> \n"; 
           echo "    <span class=\"description\">" . $siteDescription . "</span> \n"; 
         echo "<div id=\"buy-info-" .$id. "\" class=\"mib\"> \n"; 
           echo "    <span class=\"buy\">This is where you can purchase available property.</span> \n"; 
         echo " </div> \n"; 

         echo " <a href=\"http://localhost:8888/mainsite2/detail.php?id=$id\">More Details</a>"; 

         echo "<div id=\"buy-info-" .$id. "\" class=\"mib\"> \n"; 



            echo" <form method=\"post\" action=\"\" class=\"jcart\">"; 
            echo"  <fieldset>"; 
            echo"   <input type=\"hidden\" name=\"my-item-id\" value=\"" .$idp. "\" />"; 
            echo"   <input type=\"hidden\" name=\"my-item-name\" value=\"" .$adType. "\" />"; 
            echo"   <input type=\"hidden\" name=\"my-item-price\" value=\"" .$adPrice. "\" />"; 

            echo"   <ul>"; 
            echo"    <li><strong>" .$adType. "</strong></li>"; 

            echo"    <li>Price: $" .$adPrice. "</li>"; 
            echo"    <li>"; 
            echo"     <label>Qty: <input type=\"text\" name=\"my-item-qty\" value=\"1\" size=\"3\" /></label>"; 
            echo"    </li>"; 
            echo"   </ul>"; 

            echo"   <input type=\"submit\" name=\"my-add-button\" value=\"add to cart\" class=\"button\" />"; 
            echo"  </fieldset>";      
            echo" </form>"; 




         echo " </div> \n"; 

         echo " </div> \n"; 
           } 
echo "</div> \n";   

    } 

} 

?> 

Et voici la page property.php que je suis compris dans le ci-dessus pour leftlane:

<?php 
    $mysql = new mysqli('localhost', 'root', 'root', 'leftlane_news') or die('you\'re dead'); 
    $result = $mysql->query("SELECT * FROM property") or die($mysql->error); 

if($result) 
{ 
           while($row = $result->fetch_object()) 
           { 
             $idp = $row->property_id;     
             $adType = $row->ad_type;      
             $adAvail = $row->ad_avail;    
             $adSold = $row->ad_sold; 
             $adPrice = $row->ad_price; 
           } 
    } 
?> 

Toute aide serait génial. Je vous remercie.

Répondre

1

Il semble que vous construisez tous les 3 divs dans la même boucle - ce qui signifie qu'ils recevront exactement les mêmes données. Je ne peux pas tout à fait obtenir ma tête autour des détails que vous avez, mais vous voudrez probablement une boucle qui ressemble de plus près:

<?php 
while($row = $result->fetchObject()) 
{ 
    echo '<div id="' . $row->data . '" >'; 
    //more stuff 
    echo '</div>'; 
} 

Cela va créer un DIV pour chaque ligne dans le jeu de résultats.

Questions connexes