phpbar.de logo

Mailinglisten-Archive

[php] komme mit diesem script nicht weiter:

[php] komme mit diesem script nicht weiter:

Thorsten Scheckenbach t.scheckenbach_(at)_flashback-multimedia.de
Tue, 26 Sep 2000 16:08:59 +0200


hallo,

folgendes script bringt mich noch um den verstand!
ich habe es so gut wie es ging auskommentiert. leider programmiere ich erst
seit einem guten monat php und bin mir deswegen nicht ganz sicher ob das
auch so stimmt.

ich beschreibe es an folgendem beislpiel:
----
eine mysql-datenbank mit namen myDB und eine tabelle mit namen myTab
enthaelt zwei spalten kat1 und kat2.
die spalte kat1 enthaelt die werte die in kat1_array stehen
aber nur bei abc gibt es auch kat2 naehmlich 2 Stueck
der erste ist 123
der zweite ist 456
----

<?

$lastData = array();    //hier landen nachher alle werte aus der spalte kat2
                        //(123 und 456)


$kat1_array = array(abc,cde);   //array mit allen werten aus der spalte kat1

//ja wieviele sind denn in kat1_array?? -->2
$arrayCount = count($kat1_array);

//hier stehen spaeter alle resource-ids und numbers drin
$ergArray = array();

//verbindung aufnehmen
$db = mysql_connect();

//fuer jeden eintrag in $kat1_array
for ($a=0; $a<$arrayCount; $a++)
{
    //einen namen erstellen der so aussieht: resabc
    $b = "res".$kat1_array[$a];

    //einen namen erstellen der so aussieht: numabc
    $c = "num".$kat1_array[$a];
    
    //die varible mit namen resXYZ bekommt das ergebniss der abfrage
    //(eine Ressource-ID) zugewiesen

       $$b = mysql_db_query('myDB',"select * from myTab where kat1 =
'$kat1_array[$a]'");
    
    //wieviele zeilen haben den z.b. ersten wert aus kat1_array selbiges in
    //die variable $numabcZ eintragen
    $$c = mysql_num_rows(${$b});
    
    //jetzt nacheinander resource-id + anzahl der gefundenen datensaetze
    array_push($ergArray,array("Result"=> "${$b}","Number"=>"${$c}"));
    
}
//wiviele werte enthaelt $ergArray
$array2Count = count($ergArray);

include ("../templ/head_tmpl.php"); //nur html

//fuer jeden eintrag in $ergArray
for ($d=1; $d<$array2Count; $d++)
{
    
    //nur wenn eine resource-id wirklich eine "zeile" enthaelt
    if ($ergArray["$d"]["Number"] > 0)
    {
        $kat1 = $kat1_array[$d];
        include ("../templ/kat1_auflistung_head_tmpl.php"); //nur html
        
        //fuer alle "zeilen" einer resource-id
        for ($i=0; $i < $ergArray["$d"]["Number"]; $i++)
        {
            //die resource-id in die varible $res schreiben
            $res = $ergArray["$d"]["Result"];
            
            
            ///////////////////////////////////////////////
            //und das folgende geht dann nicht mehr!!!!!!
            //
            //
            //in $kat2 soll jetzt eigentlich der erste eintrag der spalte
            //kat2 (123) stehen. es kommt aber nur der fehler:
            //
            //Warning: Supplied argument is not a valid MySQL result
            //resource in
            //d:\php_docs\functions\
            //kat1_auflistung_func.php on line 64
            //
            ///////////////////////////////////////////////

            $kat2 = mysql_result($res,$i,'kat2');

            array_push($lastData,array("kat2"=> "$kat2"));
            //
            //das array sollte dann also ungefaehr so aussehen:
            //$lastData(("kat2" => "123"),("kat2" => "456"));
            //


            include ("../templ/kat1_auflistung_tmpl.php");//nur html
        }
    }
}

include ("../templ/kat1_auflistung_footer_tmpl.php");//nur html
mysql_close($db);

?>

bitte helft mir *schnief*


gruesse


thorsten scheckenbach




php::bar PHP Wiki   -   Listenarchive