2017-02-16 2 views
0

Ich benutze PHP und MySQL Datenbank auf WordPress.Wie erstelle ich eine Übermittlungsschaltfläche, die das Ergebnis anhand ausgewählter Eingaben aus der Dropdown-Liste anzeigt

Ich hatte 4 Dropdown-Liste in einer Tabelle erstellt, wo jeder Daten aus der Datenbank abgerufen und ich habe eine Absenden-Schaltfläche erstellt.

Was ich brauche, ist, dass die Übermittlungsschaltfläche die ausgewählte Eingabe aus jeder Dropdown-Liste übernimmt und eine Abfrage erstellt, um die erforderlichen Daten zurückzugeben und die Ergebnisse in einer Tabelle oder einem Raster anzuzeigen.

Code:

 <?php 
    /* 
    Template Name: search info 
    */ 

    get_header(); 
    ?> 

    <?php 
    // code for submit button ation 
    if(isset($_POST['submit'])) 
    { 
    //needed code 
    $site_name=$_POST['site_name']; 
    $owner_name=$_POST['owner_name']; 
    $company_name=$_POST['Company_name']; 
    $Subcontractor_name=$_POST['Subcontractor_name']; 
    ?> 
    <table width="30%" > 
     <tr> 
      <td>Site Name</td> 
      <td>Owner Name</td> 
      <td>Company Name</td> 
      <td>Subcontractor Name</td> 
     </tr> 
     <tr> 
      <td><?php echo $site_name ; ?></td> 
      <td><?php echo $owner_name ; ?></td> 
      <td><?php echo $company_name ; ?></td> 
      <td><?php echo $Subcontractor_name ; ?></td> 
     </tr> 
    </table> 
    <?php } ?> 

    <!--create dropdown list site names--> 

    <form method = "POST" action = ''> 
     <table width="30%"> 
      <tr> 
       <td>Site Name</td> 
       <td>Owner Name</td> 
       <td>Company Name</td> 
       <td>Subcontractor Name</td> 
      </tr> 
      <tr> 
       <td><select id="site_name" name = 'site_name'> 

       <?php 
        $query_site_name =$wpdb->get_results ("select DISTINCT siteNAME from site_info"); 
         foreach($query_site_name as $site_name) 
         { 
         $site_name = (array)$site_name; 
         echo "<option value = '{".$site_name ['siteNAME']."}'>". $site_name['siteNAME']."</option>"; 
         } 
       ?> 

       <!--create dropdown list owner names--> 
       </select></td> 

       <td><select id="owner_name" name = 'owner_name'> 
       <?php 
         $query_owner_name =$wpdb->get_results ("select DISTINCT ownerNAME from owner_info"); 
         foreach($query_owner_name as $owner_name) 
         { 
         $owner_name = (array)$owner_name; 
         echo "<option value = '{".$owner_name ['ownerNAME']."}'>". $owner_name['ownerNAME']."</option>"; 
         } 
        ?> 
       </select></td> 

       <!--create dropdown list Company names--> 
       </select></td> 

       <td><select id="Company_name" name = 'Company_name'> 
       <?php 
        $query_Company_name =$wpdb->get_results ("select DISTINCT companyNAME from company_info"); 
        foreach($query_Company_name as $Company_name) 
        { 
         $Company_name = (array)$Company_name; 
         echo "<option value = '{".$Company_name ['companyNAME']."}'>". $Company_name['companyNAME']."</option>"; 
        } 
       ?> 
       </select></td> 

       <!--create dropdown list Subcontractor names--> 
       </select></td> 

       <td><select id="Subcontractor_name" name = 'Subcontractor_name'> 
       <?php 
        $query_Subcontractor_name =$wpdb->get_results ("select DISTINCT subcontractorNAME from subcontractor_info"); 
        foreach($query_Subcontractor_name as $Subcontractor_name) 
        { 
         $Subcontractor_name = (array)$Subcontractor_name; 
         echo "<option value = '{".$Subcontractor_name ['subcontractorNAME']."}'>". $Subcontractor_name['subcontractorNAME']."</option>"; 
         } 
        ?> 
       </select></td> 
      <tr> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td> 
      <input type = "submit" name="submit" value = "Search"> 

     </td> 
     </tr> 

     </table> 
    </form> 
<?php 
    get_footer(); 
    ?> 

Wenn jemand kann mir helfen, den Code, um fortzufahren:

  • verwenden, um die ausgewählten Daten aus der Dropdown-Liste in der PHP-Code
  • Anzeige das Ergebnis in einer Tabelle oder Gitter

Nach der Aktualisierung des Codes sieht die Seite wie folgt aus: web page based on the @Prateek Verma code

Antwort

0

Setzen Sie die Tabellenstruktur in das Tag & und führen Sie dann die Übermittlungsaktion aus.

Bitte geben Sie Ihre aktualisierten Code unten:

<?php 
    /* 
    Template Name: search info 
    */ 

    get_header(); 
    ?> 

    <?php 
    // code for submit button ation 
    global $wpdb,$_POST; 
    if(isset($_POST['query_submit'])) 
    { 
    //needed code 
    if(isset($_POST['site_name'])) { $site_name=$_POST['site_name']; } else { $site_name=""; } 
if(isset($_POST['owner_name'])) { $owner_name=$_POST['owner_name']; } else { $owner_name=""; } 
if(isset($_POST['Company_name'])) { $company_name=$_POST['Company_name']; } else { $company_name=""; } 
if(isset($_POST['Subcontractor_name'])) { $Subcontractor_name=$_POST['Subcontractor_name']; } else { $Subcontractor_name=""; } 
    ?> 
    <table width="30%" > 
     <tr> 
      <td>Site Name</td> 
      <td>Owner Name</td> 
      <td>Company Name</td> 
      <td>Subcontractor Name</td> 
     </tr> 
     <tr> 
      <td><?php echo $site_name ; ?></td> 
      <td><?php echo $owner_name ; ?></td> 
      <td><?php echo $company_name ; ?></td> 
      <td><?php echo $Subcontractor_name ; ?></td> 
     </tr> 
    </table> 
    <?php } ?> 

    <!--create dropdown list site names--> 

    <form method ="post" action ="" name="submit_form"> 
     <table width="30%"> 
      <tr> 
       <td>Site Name</td> 
       <td>Owner Name</td> 
       <td>Company Name</td> 
       <td>Subcontractor Name</td> 
      </tr> 
      <tr> 
       <td><select id="site_name" name = "site_name"> 

       <?php 
        $query_site_name =$wpdb->get_results ("select DISTINCT siteNAME from site_info"); 
         foreach($query_site_name as $site_name) 
         { 
         $site_name = (array)$site_name; 
         echo "<option value = '{".$site_name ['siteNAME']."}'>". $site_name['siteNAME']."</option>"; 
         } 
       ?> 

       <!--create dropdown list owner names--> 
       </select></td> 

       <td><select id="owner_name" name ="owner_name"> 
       <?php 
         $query_owner_name =$wpdb->get_results ("select DISTINCT ownerNAME from owner_info"); 
         foreach($query_owner_name as $owner_name) 
         { 
         $owner_name = (array)$owner_name; 
         echo "<option value = '{".$owner_name ['ownerNAME']."}'>". $owner_name['ownerNAME']."</option>"; 
         } 
        ?> 
       </select></td> 

       <!--create dropdown list Company names--> 
       </select></td> 

       <td><select id="Company_name" name ="Company_name"> 
       <?php 
        $query_Company_name =$wpdb->get_results ("select DISTINCT companyNAME from company_info"); 
        foreach($query_Company_name as $Company_name) 
        { 
         $Company_name = (array)$Company_name; 
         echo "<option value = '{".$Company_name ['companyNAME']."}'>". $Company_name['companyNAME']."</option>"; 
        } 
       ?> 
       </select></td> 

       <!--create dropdown list Subcontractor names--> 
       </select></td> 

       <td><select id="Subcontractor_name" name ="Subcontractor_name"> 
       <?php 
        $query_Subcontractor_name =$wpdb->get_results ("select DISTINCT subcontractorNAME from subcontractor_info"); 
        foreach($query_Subcontractor_name as $Subcontractor_name) 
        { 
         $Subcontractor_name = (array)$Subcontractor_name; 
         echo "<option value = '{".$Subcontractor_name ['subcontractorNAME']."}'>". $Subcontractor_name['subcontractorNAME']."</option>"; 
         } 
        ?> 
       </select></td> 
      <tr> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td> 
      <input type ="submit" name="query_submit" value ="Search" /> 

     </td> 
     </tr> 

     </table> 
    </form> 

    <?php get_footer(); ?> 

Hope, das Sie sehr hilfreich sein können.

+0

nachdem ich Ihren Code verwendet habe, sieht die Seite so aus ... schauen Sie auf meine aktualisierte Frage –

+0

wo ist die Öffnung

+0

mein Fehler Ich habe vergessen, in meiner Frage hinzugefügt, aber es gibt in dem Code –

0

Dieser Code ist nur in PHP, aber Sie können auch Javascript/Jquery verwenden, um das Formular zu senden. Anyway Auf den Button "Senden" klicken Ich möchte Ihnen zwei Möglichkeiten geben.

  1. Sie können alle Ihre Drop-Down in einem Formular-Tag setzen und für das Formular-Tag in action-Attribut des Formulars können Sie neue Seite definieren, wo Sie alle Werte von $ _REQUEST erhalten können oder erhalten oder senden und als entweder einreichen Diese Daten an die Datenbank, wenn Sie möchten, oder umleiten zu einer anderen Seite, indem Sie dieses Datenfeld tragen.

  2. Sie können einen einfachen jquery/JavaScript-Code schreiben, um den Code mit Ajax einzureichen. Ich werde den Code nicht schreiben, aber wenn Sie brauchen, lassen Sie es mich wissen, ich werde Ihnen etwas mehr darüber geben.

Wenn Sie nicht wollen, um die Daten und klicken Submit-Button einreichen möchten in einer Tabelle ausgewählten Daten anzuzeigen. Erstellen Sie dann eine Tabelle, in der Sie Daten anzeigen und mit css ausblenden möchten. Danach, indem Sie javascript/jquery verwenden, wählen Sie den Index/Wert des Dropdown-Menüs aus und zeigen Sie sie in diesem Raster oder dieser Tabelle an.

Ich hoffe, es würde helfen.

+0

Was wird der Unterschied zwischen den beiden Optionen sein? und ich möchte das Ergebnis nicht in einer neuen Seite unterhalb der Dropdown-Listen auf derselben Seite anzeigen. –

+0

Großartig. Dann kann es durch einen sehr einfachen Javascript/jquery Code gemacht werden. –

+0

Sagen Sie mir, Sie wissen, jQuery, wenn ja, dann auf klicken Ereignis der Schaltfläche erhalten Sie den Wert aller Auswahlkästchen in der Tabelle und dann zeigen sie in einer neu erstellten Tabelle, die ich bereits gesagt habe, machen Sie es mit CSS versteckt. –

Verwandte Themen