2016-07-12 3 views
1

Beispiel ist index.php Formulardatei diese Datei i geben Wert $abc, die alle Werte der Tabelle zu Ajax speichert, wenn eine Auswahl von ALL Work Spaces wählen ist, und ich will Ergebnis in Size Auswahl an chngeWie übergeben wir bestimmte Tabellenwerte an Ajax, die wir aus einer Datenbanktabelle erhalten? Dieses

<?php 
mysql_connect("localhost","username","password"); 
mysql_select_db("databasename"); 
$abc=mysql_query("select * from table_name"); 
?> 
<select onchange="showSoft(this.value)" > 
     <option value="" selected="selected">All Work Spaces </option> 
     <option value="industrial">Workshop/Industrial </option> 
</select> 
<select name="tosize" id="tosize"> 
<option selected>Size</option> 
<option value="100" id="softsq1">100sq ft </option> 
<option value="200" id="soft2">200sq ft </option> 
<option value="300" id="soft1">300sq ft </option> 
</select> 
<script> 
function showSoft(str) { 
    var xhttp; 
    xhttp = new XMLHttpRequest(); 
    xhttp.onreadystatechange = function() { 
    if (xhttp.readyState == 4 && xhttp.status == 200) { 
     document.getElementById("softsq1").innerHTML = xhttp.responseText; 
     } 
    }; 
    xhttp.open('GET', 'two.php?q='+str+'&w=<?php echo $abc; ?>', true); 
    xhttp.send(); 
} 
</script> 

Jetzt siehe two.php file code In dieser Datei überprüfen sie alle Werte von $abc durch das Fatching aber es zeigt fatalen Fehler bitte helfen Sie mir, wie diese Tabelle Werte übergeben?

<?php 
$ab=$_REQUEST['w']; 
$result=mysql_fetch_array($ab); 
echo $result[0]; 
?> 

Wenn Sie einen anderen Trick haben mir bitte helfen becoz es ihm fatale Fehler nicht Wert zurück returne

+2

Sie versuchen, eine _mysql resultset_ als URL-param passieren, und es ist nicht möglich. Versuchen Sie, das Ergebnis der Abfrage zu erhalten, und analysieren Sie es als json. –

+0

Zuerst ist Ihr Code alt wie Zeit mysql ist lange weg Verwenden Sie mysqli, zweitens verbinden Sie nicht mit einer db in two.php, 3. warum don, t Sie verbinden mit der db in two.php? – madalinivascu

+0

madalin also verbinde ich auch db in two.php datei? –

Antwort

0

Ich schlage vor, Sie die Werte in Ihrer one.php Datei zu erhalten, serialisiert den Ergebnis-Array und urlencode es in Ihrem Ajax-URL-Aufruf zu analysieren, und schließlich undealcode die Zeichenfolge in Ihrer two.php Datei.

So erhalten Sie das Ergebnis Array zuerst:

<?php 
mysql_connect("localhost","username","password"); 
mysql_select_db("databasename"); 
$abc=mysql_query("select * from table_name"); 
$results = mysql_fetch_array($abc, MYSQL_ASSOC); 
?> 

In Ihrer Ajax-Anforderung analysieren sie als json string:

xhttp.open('GET', 'two.php?q='+str+'&w=<?php echo urlencode(serialize($results)); ?>', true); 

Und überprüfen Sie schließlich in Ihre two.php Datei die unserialize json string zu einem Array:

<?php 
$ab=$_REQUEST['w']; 
$results = unserialize(urldecode($ab)); 
print_r($results); 
?> 

Übrigens, zahlen bei tention:

mysql_fetch_array wurde in PHP 5.5.0 veraltet, und es wurde in PHP 7.0.0 entfernt. Stattdessen sollte die MySQLi oder PDO_MySQL-Erweiterung verwendet werden.

+0

danke für ans, aber von w es pass a% 3A7% 3A% 7Bs% 3A2% 3A% 22id% 22% 3Bs% 3A1% 3A% 221% 22% 3Bs% 3A3% 3A% 22url% 22% 3Bs% 3A21% 3A% 22 +% 24_POST% 5B% 22bwdspo_url% 22% 5D% 22% 3Bs % 3A5% 3A% 22%% 22% 3Bs% 3A22% 3A% 22% 24_POST% 5B% 22bwdspo_title% 22% 5D% 22% 3Bs% 3A5% 3A% 22%% 22% 3Bs% 3A22% 3A% 22% 24_POST% 5B % 22upload_image% 22% 5D% 22% 3Bs% 3A7% 3A% 22content% 22% 3Bs% 3A24% 3A% 22% 24_POST% 5B% 22bwdspo_content% 22% 5D% 22% 3Bs% 3A8% 3A% 22Kategorie% 22% 3Bs % 3A0% 3A% 22% 22% 3Bs% 3A4% 3A% 22Datum% 22% 3Bs% 3A10% 3A% 220000-00-00% 22% 3B% 7D diese Art von val und ich möchte nach col Name der Tabelle zeigen auf Two.php –

+1

verwechselte ich die Reihenfolge der Decodierung und unserialize.Der richtige Weg ist: '$ results = unserialize (urldecode ($ ab));' (die Antwort wird jetzt aktualisiert) –

+0

ohk in two.php datei? –

0

Ich schlage vor, Sie .ajax $ zu verwenden:

function showSoft(str) { 
$.ajax({ 
    method: "GET", 
    data: xxx, 
    url: xxx, 

    success: function (data) { 
    console.log(data); 
      }, 
    error: function(data) { 
     //xxxxxxx 
      } 
    }); 
} 

Hier nur passieren, was Sie in Daten wollen

+0

Bitte formatieren Sie die Codeblöcke – gcampbell

+0

Danke für ans, aber in Daten: Wie füge ich zwei Werte zur two.php-Seite hinzu und übergebe sie dem Format –

+0

und sie geben Zugang zu Pass-Tabellenwerten? oder bevor du dich verstehst? –

Verwandte Themen