Ajax/Projax-PHP-Klasse - Variablenübergabe-Problem

The619

Grünschnabel
Hallo Artgenossen,

bin gerade dabei eine kleines Script zu schreiben und hab da so meine Probleme.

Ich habe eine SQL Abfrage, die ziemlich viele Namen und die dazugehörige ID aus der Datenbank holt und in ein Array speichert.

Außerdem habe ich 2 Textfelder. Das eine ist ein Auto-Complete-Textfeld, wohinter das Namensarray steht. Das heißt ich schreibe "Sch" rein und der spuckt mir dadrunter alle möglichen Namen mit "Sch" raus die in dem Array drin stehen. Wie z.b. "Schäfer" oder "Tesche". Wenn ich dann auf den Namen klicke, gibt der mir die dazugehörige ID in dem anderen Textfeld aus, das klappt schon alles ziemlich prima.

Jetzt zu meinem Problem, ich möchte das gerne auch andersrum machen, das heißt ich gebe eine ID in das eine Textfeld ein und der soll mir in dem anderen Textfeld den Namen dazu ausgeben.

Ich gebe euch hier mal den Quellcode der aus 2 Dateien besteht:

ProjaxTest.php

PHP:
<!-- Funktion zum übertragen des ID Ergebnisses auf das Textfeld -->
<script language="Javascript">
function hole_name()
{
return document.getElementById('myid').value;
}
</script>


<?php

include ('mysql.inc.php');
include ("projax/projax.php");
//Laden der Projaxklasse
$projax = new Projax();

//Alles was innerhalb von EOD steht wird in $output reingeschrieben, dort brauch man keine " auszukommentieren
//und gibt nacher nur $output aus. Beim wechseln von ID in NAME mit der TAB-TASTE wird MOMENTAN die ID 
//auch in das Namens feld geschrieben 


$output =<<<EOD
<input type="text" id="myid" onChange="document.getElementById('dob').value=hole_name()" value="">
EOD;

echo "$output";

//AutoCompleteTextfeld
print $projax->text_field_with_auto_complete('dob',null,array('url'=>'projax_test2.php?task=ajax'));



?>

ProjaxTest2.php
PHP:
<?php
include ('mysql.inc.php');

$sql = "SELECT party_id, firstname, lastname FROM party_main where lastname != ''";
$sql = mysql_query($sql);
while($row = mysql_fetch_object($sql))
{
$firstname = $row-> firstname;
$lastname = $row-> lastname;

$rows[$row->party_id] = "$firstname $lastname";
}


foreach($rows as $id => $row) 
{
	$return .= (strstr(strtolower($row), strtolower($_POST['dob']))) ? 
  "<li onClick=\"document.getElementById('myid').value='$id' \">$row</li>":"";
}
print '<ul>'.$return.'</ul>';

?>

Nun brauch ich Hilfestellung wie ich das am besten weitermachen kann :(

Lieben Gruß
Steffen
 
Zurück