[ duchess @ 04.09.2009. 08:19 ] @
Zdravo!
Hocu da stavim auto suggestion pretragu na sajt, i za to sam nasla kombinaciju vadjenja podataka iz baze i smestanje u xml i onda preko tog xml-a javascript izbacuje rezultate. E sad sve to savrseno funkcionise kad upakujem xml sa nekim podacima npr. stringom od nekih kljucnih reci odvojenih zarezom, koji posle pomocu explode razbijem u array(). Ali posto meni treba da vuce kljucne reci iz baze, tu dolazi do konflikta koji mi nije jasan. Ovako izgleda php skripta gde se odradjuje upit i smesta u xml:
Code:

if (class_exists('DOMDocument')){ 

    
    $xmlDoc = new DOMDocument('1.0', 'utf-8');
    $xmlDoc->formatOutput = true;

    $root = $xmlDoc->createElement('root');
    $root = $xmlDoc->appendChild($root);

}else{
    $xmlDoc  = '<?xml version="1.0" encoding="utf-8"?>';
    $xmlDoc .= '<root>';
}

//ukoliko je poslato preko javascripta ono sto je ukucano u textbox
if ($_POST['string'] != ''){
    
    
    $select_keywords="SELECT * FROM jos_vm_keywords WHERE keyword LIKE '%".$_POST['string']."%' LIMIT 5";
    $select_keywords_rez=mysql_query($select_keywords);
    
    while($row=mysql_fetch_array($select_keywords_rez)) 
    {
        foreach($row as $key => $keyword)
        {
            if (class_exists('DOMDocument'))
            {
                
                $item = $xmlDoc->createElement('item');
                $item = $root->appendChild($item);
                $item->setAttribute('id',$key);
                $item->setAttribute('label',rawurlencode($keyword));
                
            }
            else
            {
                $xmlDoc .= '<item id="'.$key.'" label="'.rawurlencode($keyword).'"></item>';
            }
        }
    }

//ovo sam stavila radi probe, kako bi videla da li upisuje u xml a ujedno i da vidim kako izgleda upit.
    $item = $xmlDoc->createElement('item');
    $item = $root->appendChild($item);
    $item->setAttribute('id',222);
    $item->setAttribute('label',rawurlencode($select_keywords));
                

            
}


header("Content-type:application/xml; charset=utf-8");
if (class_exists('DOMDocument')){
    echo $xmlDoc->saveXML();
}else{
    $xmlDoc .= '</root>';
    echo $xmlDoc;
}


Kad ovakav kod pokrenem ne ispisuje mi nista u rezultatima, cak ni ono dole ispod radi probe stavljeno. Kada dodam @ ispred mysql_result i mysql_fetch_array ( ne znam zasto se to stavlja, ali na nekom forumu sam to nasla ) onda mi ispise samo taj donji probni deo, sa select upitom, koji izgleda potpuno ispravno (cak sam ga i isprobala u phpmyadminu i radi), ali ne i rezultate upita. Nesto ga buno a ne znam sta! Pokusala sam sa svim kombinacijama while i foreach petlje, ali nista ne ide!

Molim za neku pomoc!
[ stankons @ 04.09.2009. 08:43 ] @
Kod mene radi.

Probaj da umesto:

Code:

SELECT * FROM jos_vm_keywords WHERE keyword LIKE '%".$_POST['string']."%' LIMIT 5"


Staviš

Code:

SELECT * FROM jos_vm_keywords LIMIT 5"


Samo zbog testa.

Odnosno, mislim da ti je negde problem sa upitom/mysql - om.
[ duchess @ 04.09.2009. 09:02 ] @
Isprobala sam i isto je. Mislim da nije do upita jer sam ga isprobala u phpmyadminu i radi, sasvim ok ispisuje rezultate.

Soy desperate!
[ Nemanja Avramović @ 04.09.2009. 09:07 ] @
Inače, @ ispred imena funkcije služi da spreči prikazivanje grešaka (notice-a i warning-a) ukoliko poziv funkciji (iz bilo kog razloga) generiše grešku. To nikako nemoj koristiti dok debaguješ. I naravno, kako ti je podešen error_reporting? Možda je isključen pa zato ne prijavljuje grešku. Obavezno ga dok traje razvoj postavi na E_ALL
[ stankons @ 04.09.2009. 09:09 ] @
Deo sa XML - om radi 100%, pošto kod kod mene radi, samo sam prepravio deo sa MySQL - om da bi moglo da radi kod mene.

Ako radi u phpAdmin - u, ne mora da znači 100% da će radi u kodu u php - u.

Možda si promašila MySQL bazu / server?

Uzmi prvo samo deo sa MySQL - om, i pokusaj da dobiješ rezultate iz MySQL - a, bilo kakve, ali znači preko tvog koda - ne preko phpMyAdmin - a, sa običnim echo - em, naj naj jednostavnije, ukoliko uspeš da dobiješ, onda samo umesto ispisivanja rezultata ubaci XML kod.

Ukoliko imaš problema daj mi i taj jednostavan MySQL kod.
[ Mister_rap @ 04.09.2009. 16:33 ] @
Jeste da malo offujem, al jel mogu da znam zbog cega uopste to cuvas u XML, jer hoces da pretrazujes i xml (neka cache varijanta) ili sta vec?

Citat:

Hocu da stavim auto suggestion pretragu na sajt


Zar ovo ne moze da se uradi i bez toga, sa mnogo manje koda?