Variable für $tabellenname wird nicht übermittelt

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

  • Variable für $tabellenname wird nicht übermittelt

    Hallo!

    Ein Problem gelöst, taucht schon ein neues auf.
    Was ist meine, könnt ihr euch hier live anschauen.
    (Einfach Mitarbeiternummer 1850 auswählen und auf "Senden" klicken.
    Die anderen Felder sind noch nicht aktiv)
    Das Design wird nocht fertig gemacht, bleibt [COLOR=red]nicht[/COLOR] so!

    Mein Skript
    PHP-Code:
    <?php
    $anzeigen
    =10;//Anzahl der Datensätze, die auf einer Seite angezeigt werden sollen
    if($_GET[vor]){$start=$_GET[limit]+$anzeigen;}
    if(
    $_GET[back]){$start=$_GET[limit]-$anzeigen;}
    if(!
    $start){$start=0;}
    //Auslesen der Einträge
    $tabellenname="$agent";

    $sql="SELECT * FROM $tabellenname WHERE storno='nein' 
    LIMIT "
    .$start." , ".$anzeigen;
    $link mysql_connect("host","user","pwd");
    mysql_select_db("db"$link);
    $result mysql_query($sql$link);
    for(
    $i=0;$i<mysql_num_rows($result);$i++)
    {
    $ergebnis[$i]=mysql_fetch_array($result);
    }
    //Ermitteln, wie viele Einträge vorliegen
    $sql1="SELECT COUNT(*) FROM $tabellenname ";
    $result1 mysql_query($sql1$link);
    $maxmysql_result($result1,0,0);

    //Ausgeben der Einträge
    for($i=0;$i<count($ergebnis);$i++)
    {
    echo 
    "<table border=0><tr><td width=150> ".$ergebnis[$i][firma]." </td>
    <td width=150> "
    .$ergebnis[$i][vorname]." </td>
    <td width=150> "
    .$ergebnis[$i][nachname]." </td>
    <td width=180> "
    .$ergebnis[$i][plz]." ".$ergebnis[$i][ort]." </td>";
    if (
    $ergebnis[$i][storno] == nein)
    {
    echo 
    '<td width=50 align="center">
    <img src="http://www.timeconcept-int.de/button_ok_20.gif"></td>'
    ;
    }
    elseif (
    $ergebnis[$i][storno] == ja) {
    echo 
    '<td width=50 align="center">
    <img src="http://www.timeconcept-int.de/button_error_20.gif"></td>'
    ;
    }
    else {}
    echo 
    '<td width=25><a href="anfrage_details.php?tabellenname='.$tabellenname.'
    &id='
    .$ergebnis[$i][id].'">Details</a></td></tr></table>';

    }
    //Ausgeben der Links vor und zurück
    echo "<table border=\"1\" width=\"850\"><tr><td align=\"left\">";
    if(
    $start>=$anzeigen){echo "<a href=\"".$PHP_SELF."?limit=".$start."&back=1\">Zurück</a>";}
    echo 
    "</td><td align=\"right\">";
    if(
    $start+$anzeigen<$max){echo "<a href=\"".$PHP_SELF."?limit=".$start."&vor=1\">Weiter</a>";}
    echo 
    "</tr></table>";
    ?>
    Jetzt ist das Problem, wenn ich auf "weiter" klicke bekomme ich eine leere Seite. Ich nehme an, dass [COLOR=red]$tabellenname[/COLOR] nicht übergeben wird.
    Wie macht man das?
    Habe so etwas versucht, aber es klappt nicht:
    PHP-Code:
    if($start>=$anzeigen){echo "<a href=\"".$PHP_SELF."
    ?tabellenname="
    .$tabellenname."&limit=".$start."&back=1\">Zurück</a>";} 
    Zuletzt geändert von Devil-Inside; 30.11.2004, 14:20.

  • #2
    Re: Variable für $tabellenname wird nicht übermittelt

    klingt auf den ersten blick nach dem stinknormalen register_globals-problem.
    bitte informiere dich darüber, damit wir das hier nicht erneut durchkauen müssen.


    btw: du hast doch wohl hoffentlich nicht wirklich für jeden agenten eine eigene tabelle angelegt, oder? das dürfte ja ein ziemlich vermurkstes datenmodell sein.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Ich finde es einfacher für jeden Mitarbeiter (Agenten) eine Tabelle anzulegen. Es sind ja nur 30.
      Dann hat jeder Mitarbeiter eigene Tabelle mit eigenen Kunden.
      Hatte es vorher anders, nur eine Tabelle. Das war unübersichtlich und voll.

      Ich habe mal durchgesöbert im Forum, aber keine passende Antwort gefunden.
      Vielleicht sollte ich mir mehr Zeit nehmen, die ich aber wirklich nicht habe.

      Ich weiß, dass man die Variablen mit in den Link setzen kann und weiter geben kann.
      Und mit
      PHP-Code:
      $tabellenname=$_GET['tabellenname']; 
      übernimmt. Aber in dér Browserleiste unten kann man sehen,
      woraus der Link besteht. Und da fehlt die Angabe [COLOR=red].....php?tabellenname=agent1850 (als Beispiel)[/COLOR]
      Warum?

      Kommentar


      • #4
        wahrscheinlich, weil du nicht konsequent $tabellenname=$_GET['tabellenname'];
        anwendet, sowie in obigen Script

        Kommentar


        • #5
          Original geschrieben von Devil-Inside
          Ich finde es einfacher für jeden Mitarbeiter (Agenten) eine Tabelle anzulegen. Es sind ja nur 30.
          Dann hat jeder Mitarbeiter eigene Tabelle mit eigenen Kunden.
          das ist ein vermurkstes datenmodell.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Wo ist das Problem?

            Eine Table Kunden
            Eine Table Mitarbeiter
            Eine Table Mitarbeiter_Kunden

            Lässt sich doch easy pflegen....
            Je nachdem ob ein Kunde nur einem Mitarbeiter gehören kann, könnte man den Primary KEy in Mitarbeiter_Kunden auf die Kunden ID setzen.....
            [color=blue]MfG Payne_of_Death[/color]

            [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
            [color=red]Merke:[/color]
            [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

            Murphy`s Importanst LAWS
            Jede Lösung bringt nur neue Probleme
            Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
            In jedem kleinen Problem steckt ein großes, das gern raus moechte.

            Kommentar


            • #7
              oh schick ... meine Lieblingszuweisung: $tabellenname="$agent"; ... richtiges Troll-PHP ... !
              carpe noctem

              [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
              [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

              Kommentar


              • #8
                Ich weiß, dass es überflüßig ist $tabellenname="$agent";
                Zum Schluß kürze ich alles, was weg kann.

                Ich bin kein PHP-Kenner.
                Eine Bekannte fragte mich, ob ich für ihr Unternehmen eine einfache Datenbank für die Kundenverwaltung erstellen kann.
                Und gegen eine Herausfoderung habe ich nichts.

                Ich sitze dann an den Büchern und "studiere" dann PHP.
                Ich mache es aber nicht beruflich, deswegen muß ich mich damit nicht
                perfekt auskennen. Und zu Not gibt es das gute Forum.

                Also nicht böse sein, wenn mein Skript nicht den Programmierer-Erwartungen
                entspricht. Beruflich bin ich im kaufmännischen Tätig, also nix mit Mediengestalltung.

                Danke!!!

                Kommentar


                • #9
                  PHP-Code:
                  if($start+$anzeigen<$max){echo "<a href=\"".$PHP_SELF."?limit=".$start."&vor=1\">Weiter</a>";}
                  echo 
                  "</tr></table>";
                  ?> 
                  PHP-Code:
                  if($start>=$anzeigen){echo "<a href=\"".$PHP_SELF."
                  ?tabellenname="
                  .$tabellenname."&limit=".$start."&back=1\">Zurück</a>";} 
                  Fällt Dir irgend ein Unterschied der beiden Zeilen auf?
                  Steht das so in Deinem Script, oder war das ein posting-Fehler.
                  Weil so, wird bei >Weiter< kein tabellenname übergeben!oder steht da was, was wir nicht sehen?
                  Zu Deinem Datenbankmodell sag ich jetzt ma nix, aber den Vorschlag von Payne_of_death würde ich mir nochmal durch den Kopf gehen lassen.
                  Das Leben ist kein Ponyhof.

                  Kommentar


                  • #10
                    Blödsinn ... eine Zuweisung $tabellenname=$agent; kann ja durchaus Sinn machen ... Das hier: $tabellenname="$agent" ... ist Troll-PHP ... !
                    carpe noctem

                    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                    Kommentar


                    • #11
                      Ich habe es zur Zeit so gelassen:
                      PHP-Code:
                      if($start+$anzeigen<$max){echo "<a href=\"".$PHP_SELF."?
                      limit="
                      .$start."&vor=1\">Weiter</a>";}echo "</tr></table>";?> 
                      Hatte es aber so probiert:
                      PHP-Code:
                      if($start>=$anzeigen){echo "<a href=\"".$PHP_SELF."?
                      tabellenname="
                      .$tabellenname."&limit=".$start."&back=1\">Zurück</a>";} 
                      , damit die Variable [COLOR=red]$Tabellenname[/COLOR] übergeben wird.

                      Das funktioniert bei einem anderen Skript. Siehe hier,
                      wenn man auf Details klickt. (Die Seite Anfrage_details ist nicht online).

                      Was muß ich in der Zeile
                      PHP-Code:
                      if($start+$anzeigen<$max){echo "<a href=\"".$PHP_SELF."?
                      limit="
                      .$start."&vor=1\">Weiter</a>";}echo "</tr></table>";?> 
                      ändern oder hinzufügen, damit die Variable
                      [COLOR=red]$Tabellenname[/COLOR] übergeben wird.

                      Damit sie auch übernommen wird, ist das dann hier richtig?
                      PHP-Code:
                      $tabellenname =$_GET['tabellenname']; 
                      Zum Datenbankmodell
                      Die db wird schon gefüllt. Die wieder umzustellen, ist zu aufwendig.
                      Wie viele Sätze verträgt eine Tabelle überhaupt.?
                      Ist das nicht so: Jeder größer die Tabelle, desto länger die Ladezeiten?

                      Kommentar


                      • #12
                        Aus
                        PHP-Code:
                        if($start+$anzeigen<$max){echo "<a href=\"".$PHP_SELF."?
                        limit="
                        .$start."&vor=1\">Weiter</a>";}echo "</tr></table>";?> 
                        wird durch hinzufügen von ?tabellenname=".$tabellenname."
                        PHP-Code:
                        if($start+$anzeigen<$max){echo "<a href=\"".$PHP_SELF."?Tabellenname=".$tabellenname."&limit=".$start."&vor=1\">Weiter</a>";}echo "</tr></table>";?> 
                        und dann sollte das auch funktionieren mit der Übergabe.
                        Das Leben ist kein Ponyhof.

                        Kommentar


                        • #13
                          Ich verschieb's jetzt trotzdem mal ... für mich ist das kein SQL Problem ... !
                          carpe noctem

                          [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                          [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                          Kommentar

                          Lädt...
                          X