2017-04-11 4 views
0

Ich versuche, ein Formular aus einer MySQL-Datenbank mit AJAX zu vervollständigen.Wie fülle ich ein Formular mit einem ausgewählten AJAX aus?

Im Moment habe ich dies:

Script

function showService(str) 
{ 
    $(function() { 
     $("#service").autocomplete({ 
      source: "getservice.php", 
      select: function(event, ui) { 
       event.preventDefault(); 
       $('#Nazwa').val(ui.item.Nazwa); 
       $('#DATE').val(ui.item.DATE); 
       $('#Lczba').val(ui.item.Lczba); 
       $('#Laureaci').val(ui.item.Laureaci); 
      } 
     }); 
    }); 

Dies ist die select:

<select class="checkonkursu" name="konkursu" onChange="showService(this.value)"> 
    <option value="">Seleccione un konkursu</option> 
    <?php 
     $query = mysql_query("SELECT Nazwa FROM konkursu ORDER BY Nazwa asc", $conexion); 

     while($row = mysql_fetch_array($query)) { 
      echo '<option value="'.$row['Id_konkursu'].'">'.$row['Nazwa'].'</option>'; 
     } 
    ?> 
</select> 

Und hier ist der Code für Aufruf zur Datenbank:

<?php 
    if (isset($_GET['term'])){ 
     # conectare la base de datos 
     [email protected]_connect("localhost", "user", "password", "Namedatabae"); 

    $return_arr = array(); 
    /* Si la conexión a la base de datos , ejecuta instrucción SQL. */ 
    if ($con) 
    { 
     $fetch = mysqli_query($con,"SELECT * FROM konkursu); 
     /* Recuperar y almacenar en conjunto los resultados de la consulta.*/ 
     while ($row = mysqli_fetch_array($fetch)) { 

      $row_array['Nazwa']=$row['Nazwa']; 
      $row_array['Lczba']=$row['Lczba']; 
      $row_array['DATE']=$row['DATE']; 
      $row_array['Laureaci']=$row['Laureaci']; 

      array_push($return_arr,$row_array); 
     } 
    } 

    /* Cierra la conexión. */ 
    mysqli_close($con); 

    /* Codifica el resultado del array en JSON. */ 
    echo json_encode($return_arr); 

    } 
?> 

Sicher ist es so schlechter Code, aber ich lerne und sorry dafür.

+0

Welche Fehler erhalten Sie? Was funktioniert nicht? Wir können helfen, Probleme zu finden, aber es liegt an Ihnen, uns zu sagen, wonach Sie suchen. Wenn Sie möchten, dass jemand den Code schreibt, stellen Sie jemanden ein. Suchen Sie nach "wie Sie eine Frage stellen" nach hilfreichen Informationen zum Erstellen von Fragen, die Antworten erhalten. –

+0

Sie sollten 'error_reporting (E_ALL) hinzufügen; ini_set ('display_errors', 1); 'oben auf Ihrer Seite. Gibt es einen Tippfehler bei '$ fetch = mysqli_query ($ con," SELECT * FROM konkursu); '(fehlt ein")? und bitte lass PHP dir Fehler zeigen und werde @ los. EDIT: plus: Verwenden Sie eine Mischung aus mysql_ * und mysqli_ *? – OldPadawan

+0

in Ihrer Auswahl haben Sie 'mysql_query (" SELECT ...) 'es muss sein" mysqli_query' –

Antwort

0

Wenn ich Ihre Frage richtig verstehe. Sie möchten einfach eine HTML-Auswahl mit dem Wert füllen, der die ID der Datensätze aus Ihrer Datenbank ist, und der Name ist der entsprechende Name.

Die Funktion jQuery showService scheint hier redundant zu sein. Sie können den Wert der Auswahl in Ihrem Echo der Option festlegen, die Sie versucht haben. Allerdings gibt es einen Fehler in

$query = mysql_query("SELECT Nazwa FROM konkursu ORDER BY Nazwa asc", $conexion); 

als Manchary darauf hingewiesen dies sollte mysqli_query (wie mysql veraltet ist). Aber auch vertauscht haben Sie Ihre Argumente so sollte die Zeile sein:

$query = mysqli_query($con, "SELECT Nazwa FROM konkursu ORDER BY Nazwa ASC") 

Es ist allgemein üblich, dies zu umschreiben als

$sql = "SELECT Nazwa FROM konkursu ORDER BY Nazwa ASC"; 
$qry = mysqli_query($con, $sql) or die(mysqli_error($con)); 

So im Fall sollten Sie Ihre Abfrage fehlschlagen, erhalten Sie eine (nicht immer nützlich) Fehlermeldung. Aber etwas, um dich wenigstens auf das Problem hinzuweisen.

Ich habe die Auswahl mit allgemeiner englischer Sprache in der Hoffnung geschrieben, dass es immer noch nützlich für Sie ist, während auch anderen zu helfen.

<select class="foo" name="selector"> 
<option value="#">Select an Option</option> 
<?php 

    $con= mysqli_connect("localhost", "user", "password", "db"); 
    $qry = "SELECT * FROM Table"; 
    $res = mysqli_query($con, $qry) or die(mysqli_error($con)); 
    while($row = mysqli_fetch_assoc($res)){ 
     echo "<option value='".$row['Id']."'>".$row['Name']."</option>"; 
    } 
?> 
</select> 
Verwandte Themen