Variable übergeben

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Variable übergeben

    Hallo,

    ein Vorwort sei mir erlaubt.
    Ich bin in Sachen PHP & SQL ein ziemlicher Neuling. Aber ich will es lernen und probiere daher immer wieder neues aus.
    Ich poste hier, um Hilfe zu erhalten. Für "Profis" ist das Problem/die Frage warscheinlich lächerlich, wenn mans kann.

    Nun zu meinem Problem:

    1. Aus einer Datenbank-Tabelle 1 (db1) werden die eingetragenen Kategorien ausgelesen und untereinander auf "Seite 1" dargestellt.
    Kategorie 1
    Kategorie 2
    Kategorie 3
    Jede Kategorie enthält einen Link, am Ende mit der entsprechenden ID (Kategorie 1 = 1, Kategorie 2 = 2, Kategorie 3 = 3)
    So sieht der Link dann aus:
    http://www.xxx.com/modules.php?name=...ie&sectionid=1

    Dieses funktioniert einwandfrei, aber nun zu dem wo ich absolut nicht weiterkomme.

    2. In einer Datenbank-Tabelle 2 (db2) sind verschiedene Daten, hinterlegt.
    Natürlich werden die enthaltenen Daten bestimmten Kategorien zugeordet 1-3.....
    Nun möchte ich, das beim Aufrufen der Seite (coin-categorie.php) ausschliesslich die Daten aus "db2" ausgegeben werden, die zur Kategorie gehören, die mit dem Link von Seite 1 übergeben wurde.

    Der Quelltext von "coin-categorie" lautet:

    PHP-Code:

    <?php 

    if (!eregi("modules.php"$_SERVER['PHP_SELF'])) { 
    die (
    "You can't access this file directly..."); 


    $module_name basename(dirname(__FILE__)); 

    $index 1

    function 
    AddonSample() { 
    global 
    $module_name
    include(
    "header.php"); 
    OpenTable(); 

    ?> 
    <img src="http://www.xxx.com/images/bildarchiv/coin_db-logo.png" border="0" alt="Münzen-Sammlung"><br> 
    Münzübersicht 1<br>
    <br> 
    <br> 

    <? 
    $tablename = "nuke_coin"; 
    $database = ""; 
    $login = ""; 
    $pass = ""; 
    $connect = mysql_connect("localhost", "$login", "$pass"); 
    $select = mysql_select_db($database, $connect); 

    if(isset($sortspalte)==0) {$sortspalte= "id";} // Grundeinstellung fuer Sortierreihenfolge der Messages 
    ?> 



    <?php 

    //******************************** auslesen der ToDo-DB-Tabelle Beginn ******************************** 
    $spalte "*"
    $result=@mysql_query"SELECT $spalte FROM $tablename ORDER BY $sortspalte ") or die ( "Fehler bei Suchabfrage 3"); 
    //Datenbankabfrage: auslesen der Tabelle $tablename 

    echo 
    <TABLE WIDTH=\"95%\" BORDER=0 CELLSPACING=0 CELLPADDING=4 ALIGN=\"center\">"
    ;


    for (
    $i=0$i<=$numrow$i++){
    while (
    $row mysql_fetch_array($result)): 
    //auslesen der Array Bestandteile und zuweisen der einzelnen Spalteneintragaege in eigene Variablen 

    $coin_name=$row"coin_name"]; 

    // <!-- Aufbau des Tabelleninhaltes --> 

     
    if ($i == 0) { // Erste Spalte 

     


    echo 
    "<VALIGN=\"top\"><b>$coin_name<br>";  


     if (
    $i == 3) { // 4. Spalte 

     


    // Prüfen, ob letzte Zeile beendet wurde 
    if ($i != 3) { 



    endwhile; 
    //for-schleife 
    echo "</TABLE>";  
    ?> 

    <?php 
    CloseTable
    (); 
    include(
    "footer.php"); 


    switch(
    $func) { 

    default: 
    AddonSample(); 
    break; 

    ?>


    Ich würde mich sehr freuen, wenn sich hier jemand findet, der mir den entscheidenen Tip geben kann.

    Vielen Dank
    Gruß
    Florian

  • #2
    PHP-Code:
    $sql 'SELECT '.$spalte.' FROM '.$tablename.' WHERE kat = '.(int)$_GET['id'].' ORDER BY '.$sortspalte
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Ich habe das jetzt mal versucht umzusetzen
      folgendes kam dabei raus

      PHP-Code:
      $spalte "*"

      $result=@mysql_query"SELECT $spalte FROM $tablename WHERE sectionid = (int)$_GET $id ORDER BY $sortspalte ") or die ( "Fehler bei Suchabfrage 3"); 
      //Datenbankabfrage: auslesen der Tabelle $tablename 
      Ich bekomme nun immer die Fehlermeldung "Fehler bei Suchabfrage 3"
      Was mache ich denn nun falsch ??

      Gruß
      Florian

      Kommentar


      • #4
        Original geschrieben von Florian_W
        Was mache ich denn nun falsch ??
        du schreibst einen nichtssagenden text statt mysql_error() in das die() rein.

        EDIT:
        achja. es hatte auch einen bestimmten grund, warum ich variablen NIEMALS direkt in einen string schreibe und ihn entsprechend splitte. das solltest du lieber auch mal so übernehmen!
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Hmmm,

          jetzt verstehe ich nur noch Bahnhof ;-)

          Kommentar


          • #6
            - vergleiche meine string $sql mit dem was du geschrieben hast.

            - schaue dir mysql_error() und deren verwendung an.
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Hmmm,

              so also ich habe jetzt mal Deinen Vorschlag 1:1 eingesetzt,
              das sieht nun so aus:

              //******************************** auslesen der ToDo-DB-Tabelle Beginn ********************************
              $spalte = "*";

              $sql = 'SELECT '.$spalte.' FROM '.$tablename.' WHERE id = '.(int)$_GET['sectionid'].' ORDER BY '.$sortspalte;

              //Datenbankabfrage: auslesen der Tabelle $tablename

              Aber
              jetzt erschein meine Überschrift aber nicht mehr ?!?!?!?!

              Kommentar


              • #8
                zeig doch mal aktuellen code.
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  Also
                  der link von der Index.php zur Coin-Categorie.php lautet:

                  <a href=\"modules.php?name=Coin-db&file=coin-categorie&sectionid=$sectionid\">$section</a>";

                  Verwendet wird die Datenbank-Tabelle "nuke_coin_config" um die Kategorien und die dazugehörige Nummer zu ermitteln.


                  Jetzt der Code der Seite "Coin-Categorie.php"
                  In dieser soll die Tabelle "nuke_coin".


                  PHP-Code:

                  <?php 

                  if (!eregi("modules.php"$_SERVER['PHP_SELF'])) { 
                  die (
                  "You can't access this file directly..."); 


                  $module_name basename(dirname(__FILE__)); 

                  $index 1

                  function 
                  AddonSample() { 
                  global 
                  $module_name
                  include(
                  "header.php"); 
                  OpenTable(); 

                  ?> 
                  <img src="http://www.xxx.com/images/bildarchiv/coin_db-logo.png" border="0" alt="Münzen-Sammlung"><br> 
                  Münzübersicht 1<br>
                  <br> 
                  <br> 

                  <? 
                  $tablename = "nuke_coin"; 
                  $database = ""; 
                  $login = ""; 
                  $pass = ""; 
                  $connect = mysql_connect("localhost", "$login", "$pass"); 
                  $select = mysql_select_db($database, $connect); 

                  if(isset($sortspalte)==0) {$sortspalte= "id";} // Grundeinstellung fuer Sortierreihenfolge der Messages 
                  ?> 



                  <?php 

                  //******************************** auslesen der ToDo-DB-Tabelle Beginn ******************************** 
                  $spalte "*"

                  $sql 'SELECT '.$spalte.' FROM '.$tablename.' WHERE id = '.(int)$_GET['sectionid'].' ORDER BY '.$sortspalte;

                  //Datenbankabfrage: auslesen der Tabelle $tablename 

                  echo 
                  <TABLE WIDTH=\"95%\" BORDER=0 CELLSPACING=0 CELLPADDING=4 ALIGN=\"center\">"
                  ;


                  for (
                  $i=0$i<=$numrow$i++){
                  while (
                  $row mysql_fetch_array($result)): 
                  //auslesen der Array Bestandteile und zuweisen der einzelnen Spalteneintragaege in eigene Variablen 

                  $coin_name=$row"coin_name"]; 

                  // <!-- Aufbau des Tabelleninhaltes --> 

                    
                  if ($i == 0) { // Erste Spalte 

                    


                  echo 
                  "<VALIGN=\"top\"><b>$coin_name<br>";  
                   

                    if (
                  $i == 3) { // 4. Spalte 
                   
                    


                  // Prüfen, ob letzte Zeile beendet wurde 
                  if ($i != 3) { 



                  endwhile; 
                  //for-schleife 
                  echo "</TABLE>";  
                  ?> 

                  <?php 
                  CloseTable
                  (); 
                  include(
                  "footer.php"); 


                  switch(
                  $func) { 

                  default: 
                  AddonSample(); 
                  break; 

                  ?>

                  Kommentar


                  • #10

                    <a href=\"modules.php?name=Coin-db&file=coin-categorie&sectionid=$sectionid\">$section</a>";
                    PHP-Code:

                    <?php 

                    $sql 
                    'SELECT '.$spalte.' FROM '.$tablename.' WHERE id = '.(int)$_GET['sectionid'].' ORDER BY '.$sortspalte;

                    ?>
                    auf den ersten blick: warum sectionid und nicht "coin-categorie§ionid" so in der art (was da auch gemeint sein soll).....
                    Der Programmierer ist der Vormund des Anwenders.

                    Kommentar

                    Lädt...
                    X