array in url übergeben ??

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

  • array in url übergeben ??

    hallo!
    PHP-Code:
    $offen=array_diff($skz_acl,$skz_tbl_unique); 
    $offen ist dann ein array wenn ich nicht irre! ok
    in diesem array können bis zu 5000 werte stehen .
    dann erzeuge ich einen link wo ich dieses array in der url übergebe:
    PHP-Code:
    a href=\"offene_anzeigen.php?offen=$offen\" >anzeigen</a>; 
    wennnun die seit offene_skz_anzeigen.php öffne soll dann mit diesen werten sql atatement zusammengebaut werden:
    PHP-Code:
    $offen=$_GET['offen'];//var aus url übernehmen
    foreach($offen as $skz){
      echo 
    $skz;
      
    $out[]="skz='".$skz."'";
      }
    $sql_skz "Select skz,name From schulen Where "implode(" OR "$out)."";
    $result_skz mysql_query($sql_skz,$schul_conn)or die (mysql_error());
    while(
    $ds_skz mysql_fetch_array($result_skzMYSQL_ASSOC)){
      
    $skz =$ds_skz['skz'];
      
    $name =$ds_skz['name'];
      echo
    "<tr>"
      echo
    "<td BGCOLOR=><center><B><FONT>$name</FONT></B></td>"
      echo
    "<td BGCOLOR=><center><B><FONT>$skz</FONT></B></td>"
      echo
    "</tr>";

    fehlermeldungen der zweiten seite:
    Invalid argument supplied for foreach() line...
    und
    implode() ... bad arguments
    habs auch schon anders versucht indem
    ich in der url gleich einen string mit den
    werten für die db anfrage
    übergeben haben und habe dann mit explode
    ein array edrzeugt dann funkt das
    problem wenn mehr als x werte in url übergebenwerden
    sollen geht das nicht mehr
    bitte um hilfe

  • #2
    nur deiner Überschrift gelesen:



    serialize / unserialize

    siehe www.php.net
    mfg
    marc75

    <Platz für anderes>

    Kommentar


    • #3
      re serialize

      auf seite 1:
      PHP-Code:
      $offen=array_diff($skz_acl,$skz_tbl_unique);
      $test=serialize($offen); 
      nun der link:
      PHP-Code:
      <a href=\"offene_skz_anzeigen.php?offen=$test\" >anzeigen</a> 
      auf der zweiten seite(link):
      PHP-Code:
      $offen unserialize($_GET['offen']);
      echo
      "<table border=1>";
      echo
      "<tr>"
      echo
      "<td BGCOLOR=\"#000099\"><center><B><FONT COLOR=#FFFF00>Schule</FONT></B></td>"
      echo
      "<td BGCOLOR=\"#000099\"><center><B><FONT COLOR=#FFFF00>Skz</FONT></B></td>"
      echo
      "</tr>";
      foreach(
      $offen as $skz){
          echo 
      $skz;
          
      $out[]="skz='".$skz."'";
          }
      $sql_skz "Select skz,name From schulen Where "implode(" OR "$out)."";
      $result_skz mysql_query($sql_skz,$schul_conn)or die (mysql_error());
      while(
      $ds_skz mysql_fetch_array($result_skzMYSQL_ASSOC)){
          
      $skz =$ds_skz['skz'];
          
      $name =$ds_skz['name'];
          echo
      "<tr>"
          echo
      "<td BGCOLOR=><center><B><FONT>$name</FONT></B></td>"
          echo
      "<td BGCOLOR=><center><B><FONT>$skz</FONT></B></td>"
          echo
      "</tr>";

      jedoch die fehlermeldungen :

      Warning: Invalid argument supplied for foreach() ...
      Warning: implode() [function.implode]:....

      Kommentar


      • #4
        mach mal:
        PHP-Code:
        echo "<a href=\"offene_skz_anzeigen.php?offen=".urlencode($test)."\" >anzeigen</a>"

        Kommentar


        • #5
          in diesem array können bis zu 5000 werte stehen
          Hat jetzt nichts mit Deiner Frage zu tun, aber bitte denk dran das der Querystring nicht beliegig groß sein kann, ich weiß ja nicht wie groß die Werte sind aber bei 5000 könnte was verloren gehen
          [Test] MySQL cli Emulator

          Kommentar


          • #6
            re

            bringt nichts
            ausser das der link nicht mehr zum anklicken ist das mit diesem link übergebende array hatt 800 6-stellige werte(weis nicht ob das was damit zu tun hat)

            hab keine ahnung mehr
            wie gesagt wenn ich auf seite eins einen string aus dem
            array mache und übergeb und auf seite zwei aus dem string
            wieder ein array baue funkt alles bis auf das , wenn der string
            zulange ist ich ihn nichtmehr in der url übergeben kann
            bzw mein link nicht anzuklicken ist

            Kommentar


            • #7
              Original geschrieben von NielsRunge
              ich weiß ja nicht wie groß die Werte sind aber bei 5000 könnte was verloren gehen
              jepp und zwar das meiste.
              mfg
              marc75

              <Platz für anderes>

              Kommentar


              • #8
                Re: re

                Original geschrieben von nakg
                bringt nichts
                ausser das der link nicht mehr zum anklicken ist das mit diesem link übergebende array hatt 800 6-stellige werte(weis nicht ob das was damit zu tun hat)

                hab keine ahnung mehr
                wie gesagt wenn ich auf seite eins einen string aus dem
                array mache und übergeb und auf seite zwei aus dem string
                wieder ein array baue funkt alles bis auf das , wenn der string
                zulange ist ich ihn nichtmehr in der url übergeben kann
                bzw mein link nicht anzuklicken ist
                wie NielsRunge schon sagte, du kannst nur eine bestimmte Länge insgesamt als URL haben. Warum machst du nicht mit Session oder Cookies?

                Kommentar


                • #9
                  re

                  und wie würde das mit session funken ?
                  die links werden in einer schleife erzeugt--> es müsste
                  also jede session var sozusagen einem link
                  zugeordnet sein
                  denn pro link werden immer andere werte übergebe.

                  Kommentar


                  • #10
                    http://www.google.com/search?hl=de&i...che&lr=lang_de
                    [Test] MySQL cli Emulator

                    Kommentar

                    Lädt...
                    X