Arrays verrechnen

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

  • Arrays verrechnen

    Da ich unter Suchen *array* keine Ergebnisse bekommen habe, hier nun meine eigentliche Frage:

    Wie ziehe ich die Inhalte aus einem Array, z.B. (1,3,4) von denen in einem anderen, z.B. (1,2,3,4,5,6) ab, also als Ergebnis dann (2,5,6)?

  • #2
    schau dir mal "array_diff() " im manual an.
    Kissolino.com

    Kommentar


    • #3
      array_diff
      TBT

      Die zwei wichtigsten Regeln für eine berufliche Karriere:
      1. Verrate niemals alles was du weißt!


      PHP 2 AllPatrizier II Browsergame

      Kommentar


      • #4
        PHP-Code:
        $result mysql_query($sql$link);
           
        $result2 mysql_query($sql2$link);

           
        $row mysql_fetch_row($result);
           
        $row2 mysql_fetch_row($result2);

           
        $result3 array_diff ($row2$row);
           
           while (
        $row3 mysql_fetch_row($result3))
           {
            print 
        "<td> $row3[0] </td>";

           } 
        Die Zeile while ($row3 = mysql_fetch_row($result3)) ist falsch, es kommt diese Meldung: mysql_fetch_row(): supplied argument is not a valid MySQL result resource

        Kommentar


        • #5
          $result = array_diff (mysql_fetch_row(mysql_query($sql2)), mysql_fetch_row(mysql_query($sql)));

          while ($row = mysql_fetch_row($result))
          {
          print "<td> $row[0] </td>";

          }


          So müsste es gehen!
          Mit freundlichem Gruß,
          Deathrow

          Kommentar


          • #6
            Original geschrieben von Deathrow
            $result = array_diff (mysql_fetch_row(mysql_query($sql2)), mysql_fetch_row(mysql_query($sql)));

            while ($row = mysql_fetch_row($result))
            {
            print "<td> $row[0] </td>";

            }


            So müsste es gehen!
            Da kommt die gleiche Fehlermeldung, könnte der Fehler in einer fehlerhaften SQL-Anweisung liegen?

            Kommentar


            • #7
              $result3 ist keine mysql-resource mehr sondern einschlichtes einfaches array(), versuchs mal lieber mit "for()" oder "foreach()"
              Kissolino.com

              Kommentar


              • #8
                mysql_error()

                Kommentar


                • #9
                  allerdings stellt sich bei licht betrachtet die frage, wozu array_diff()?
                  sollte doch eigentlich per sql zu lösen sein, bestimmte felder anzuzeigen?
                  Kissolino.com

                  Kommentar


                  • #10
                    [QUOTE]Original geschrieben von Wurzel
                    allerdings stellt sich bei licht betrachtet die frage, wozu array_diff()?
                    sollte doch eigentlich per sql zu lösen sein, bestimmte felder anzuzeigen?
                    [/QUOTE

                    Die genaue Problematik hier.

                    PHP-Code:
                       $result mysql_query($sql$link);
                       
                    $result2 mysql_query($sql2$link);

                       
                    $row mysql_fetch_array($result);
                       
                    $row2 mysql_fetch_array($result2);

                       
                    $result3 array_diff ($row2$row);
                       
                       foreach(
                    $result3)
                       {
                        print 
                    "<td> $row[0] </td>";
                       }; 
                    Da kommt immer noch eine Parser Fehlermeldung

                    Kommentar


                    • #11
                      PHP-Code:
                      $result mysql_query($sql$link);
                         
                      $result2 mysql_query($sql2$link);

                         
                      $row mysql_fetch_array($result);
                         
                      $row2 mysql_fetch_array($result2);

                         
                      $result3 array_diff ($row2$row);
                         
                         foreach(
                      $result3)
                         {
                          print 
                      "<td> $row[0] </td>";
                         } 
                      Das ";" am Ende ist doch Quatsch!
                      Ans Ziel kommt nur der, der auch eins hat. www.e-cross.info

                      Kommentar


                      • #12
                        *kann das mal wer zusammenführen?*

                        ok du brauchst eine liste, die komma-separiert ist, sag das doch gleich:
                        PHP-Code:
                        // aus deinem sql-posting !!!!

                        $result mysql_query($sql$link);
                        $einarray = array();
                           while (
                        $row mysql_fetch_array($result))
                           {
                            
                        $einarray[] = $row[0];
                           }
                        echo 
                        $kommaliste implode(",",$einarray); 
                        Kissolino.com

                        Kommentar


                        • #13
                          Original geschrieben von Pascal P.


                          Das ";" am Ende ist doch Quatsch!
                          Egal, die Fehlermeldung bleibt die gleiche.

                          Kommentar


                          • #14
                            Original geschrieben von Wurzel
                            *kann das mal wer zusammenführen?*

                            ok du brauchst eine liste, die komma-separiert ist, sag das doch gleich:
                            PHP-Code:
                            // aus deinem sql-posting !!!!

                            $result mysql_query($sql$link);
                            $einarray = array();
                               while (
                            $row mysql_fetch_array($result))
                               {
                                
                            $einarray[] = $row[0];
                               }
                            echo 
                            $kommaliste implode(",",$einarray); 
                            Ja, so könnte das natürlich auch funktionieren. Aber der Ansatz mit den beiden Arrays von dem das mit den belegten Zimmern von allen Zimmern abgezogen wird müßte doch auch funktionieren.

                            Kommentar


                            • #15
                              PHP-Code:
                              $result mysql_query($sql$link);
                                 
                              $result2 mysql_query($sql2$link);

                                 
                              $row mysql_fetch_array($result);
                                 
                              $row2 mysql_fetch_array($result2);

                                 
                              $result3 array_diff ($row2$row);
                                 
                                 foreach(
                              $result3 as $value)
                                 {
                                  print 
                              "<td> $value</td>";
                                 } 
                              versuchs mal so
                              Kissolino.com

                              Kommentar

                              Lädt...
                              X