Hallo,
diesmal geht es nicht darum, dass etwas nicht geht, sondern dass es langsam geht
Die rot eingefärbte Stelle ist die, die ewig dauert. Beispiel: Wenn ich nach "Müller" suche. Die Nach 4.36 Sekunden hat er das Ergebnis, welches aber erst nach 22.25 Sekunden angezeigt wird.
Hierzu nochmal die Passage der Datei "ajax/list.php"
$out ist ja eigentlich die entscheidene Stelle, da er hier ja lange braucht, um den in das vorgegebene Div einzufügen.
Habt ihr ne Idee, wie ich das ganze beschleunigen kann und wenn nicht, ne Bestätigung für meinen Chef, dass das nicht schneller geht?
diesmal geht es nicht darum, dass etwas nicht geht, sondern dass es langsam geht
Code:
function ajaxList(typ,bearbeiter){
var tx= $('fi').value;
var criterium = ($('radio_eins').checked == true)? "" : "hat";
if (tx.length >2 || typ=="lastlistL" || typ=="lastlistK" || typ=="lastlistP"){
with(new Ajx()){
url="ajax/list.php";
onOk = function handelOk(txt,xml){
$('haupt_list').style.visibility = "visible";
$('haupt_list').innerHTML = txt;
}
onTm = function handelTm(){
}
tx = encodeURIComponent(tx);
param = "bearbeiter="+bearbeiter+"&wort="+tx+"&typ="+typ+"&criterium="+criterium;
makeQuery();
}
} else {
$('haupt_list').style.visibility = "hidden";
$('haupt_list_note').style.visibility = "hidden";
}
}
Hierzu nochmal die Passage der Datei "ajax/list.php"
PHP Code:
case "lieferant_zuo":
if (strlen($wort) > 2) {
$nr = strlen($wort) * 100;
$order = ($criterium=="hat")? "ORDER BY L_Nachname ASC LIMIT 0,$nr" : " ORDER BY L_Nachname,L_Vorname ASC";
$wort_l = ($criterium=="hat")? "WHERE L_Nachname LIKE '%$wort%' AND l.Lieferantart_Nr = la.lieferantart_Nr" : "WHERE L_Nachname LIKE '$wort%' AND l.Lieferantart_Nr = la.lieferantart_Nr";
$select_l = "SELECT 'Lieferant' AS art, l.Lieferant_Nr AS Lieferant_Nr, l.L_Nachname AS L_Nachname, l.L_Vorname AS L_Vorname, l.L_Firma AS L_Firma, l.L_Ort AS L_Ort, l.L_Schwerpunkte AS L_Schwerpunkte, la.Lieferantart AS Lieferantart, la.bg AS bg FROM lieferant l, lieferantart la $wort_l";
$wort_p = ($criterium=="hat")? "WHERE L_Nachname LIKE '%$wort%' AND p.L_Lieferantart_Nr = pa.lieferantart_Nr" : "WHERE L_Nachname LIKE '$wort%' AND p.L_Lieferantart_Nr = pa.lieferantart_Nr";
$select_p = "SELECT 'Personal' AS art, p.Lieferant_Nr AS Lieferant_Nr, p.L_Nachname AS L_Nachname, p.L_Vorname AS L_Vorname, p.L_Firma AS L_Firma, p.L_Ort AS L_Ort, p.L_Schwerpunkte AS L_Schwerpunkte, pa.Lieferantart AS Lieferantart, pa.bg AS bg FROM personal p, personalart pa $wort_p";
$query = $select_l . " UNION " . $select_p . " " . $order;
$db->query($query);
while ($m = $db->fobj()) {
$i = ($i == 0)? 1 : 0;
$firma = (strlen($m->L_Firma) > 25)? substr($m->L_Firma, 0, 25)."..." : $m->L_Firma;
$ort = (strlen($m->L_Ort) > 20)? substr($m->L_Ort, 0, 20)."..." : $m->L_Ort;
$schwer = (strlen($m->L_Schwerpunkte) > 10)? substr($m->L_Schwerpunkte, 0, 10)."..." : $m->L_Schwerpunkte;
$tmp ="bg_".$i;
$bg = $$tmp;
if ($m->bg != NULL) {
$bgcolor = "background-color: $m->bg";
} else {
$bgcolor = "";
}
$out .= "<tr class=\"$bg\" onmouseover=\"this.className='hauptlis_on';\" onmouseout=\"this.className='$bg';\" onclick=\"$('haupt_list_note').style.visibility='hidden';\" ondblclick=\"getElementById('div_anfrage_$m->Lieferant_Nr').style.display = 'block';\">
<td style=\"border-left:1px solid #333333;padding-left:1px;width:100px\">$m->L_Nachname </td>
<td style=\"border-left:1px solid #333333;padding-left:1px;width:100px\"> $m->L_Vorname </td>
<td style=\"border-left:1px solid #333333;padding-left:1px;width:150px\"> $firma </td>
<td style=\"border-left:1px solid #333333;padding-left:1px;width:100px\"> $ort </td>
<td style=\"border-left:1px solid #333333;padding-left:1px;width:100px\">".trim($schwer)." </td>
<td style=\"border-left:1px solid #333333;padding-left:1px;$bgcolor; width:200px\" onclick=\"hauptListNote('$bearbeiter','$m->Lieferant_Nr','noteLieferant');\" onmouseout=\"$('haupt_list_note').style.visibility='hidden'\">$m->Lieferantart </td>
<td style=\"border-left:1px solid #333333;padding-left:1px;width:100px\"> $m->art </td>
</tr>
<tr style=\"border: 1px solid black; background-color: lightblue; display: none;\" id=\"div_anfrage_" . $m->Lieferant_Nr . "\"><td colspan=\"7\">
<center><b>Möchten Sie eine Anfrage senden?</b></center>
<table border=0><tr>
<td style=\"width: 185px;\"><center><input type=\"button\" name=\"kyansel\" value=\"Abbrechen\" onClick=\"ajaxProjektZuo('$m->Lieferant_Nr','$bearbeiter','ABBRECHEN'); getElementById('div_anfrage_$m->Lieferant_Nr').style.display = 'none';\"></center></td>
<td style=\"width: 180px;\"><center><input type=\"button\" class=\"del\" name=\"iie\" value=\"Nein\" onClick=\"ajaxProjektZuo('$m->Lieferant_Nr','$bearbeiter','NEIN'); getElementById('div_anfrage_$m->Lieferant_Nr').style.display = 'none';\"></center></td>
<td style=\"width: 185px;\"><center><input type=\"button\" class=\"up\" name=\"hai\" value=\"Ja\" onClick=\"ajaxProjektZuo('$m->Lieferant_Nr','$bearbeiter','JA'); getElementById('div_anfrage_$m->Lieferant_Nr').style.display = 'none';\"></center></td>
</tr></table>
</td></tr>";
}
}
break;
Habt ihr ne Idee, wie ich das ganze beschleunigen kann und wenn nicht, ne Bestätigung für meinen Chef, dass das nicht schneller geht?
Comment