Mit php mehre mysql datensätze ändern

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

  • Mit php mehre mysql datensätze ändern

    Hallo,

    ich suche eine möglichkeit mehrer Datensätze über ein Php Formular in einer Mysql datenbank zu ändern.
    Es sit ein Belegungskalender.
    Ich lese alle Datensätze aus in denen der Monat z.B. Januar vorkommt.
    Jetzt würde ich gerne auf einmal den 3-6 Januar als belegt eintragen.

    Kann mir da jemand weiterhelfen oder weiß jemand wo ich hilfe bekommen kann??

  • #2
    eine möglichkeit wäre du rechnest die differenz der tage aus,
    legst dein insert oder update in ne schleife und beginnst ab dem startag bis zum ende deiner differenz.

    klar?
    Zuletzt geändert von dani_o; 23.07.2003, 17:23.
    Signatur-Text ...

    Kommentar


    • #3
      Leider noch net so ganz, beschäftige mich noch nicht so lange mit php und mysql. Hast du vielleicht irgendein Beispiel mit dem ich experimentiern könnte??

      Kommentar


      • #4
        Ich würde jeden belegten Tag in der DB abspeichern. Im extremfall hast Du dann 365 Einträge pro Jahr, was ja nicht unbedingt viel für 'ne Datenbank ist.
        Mache drei Felder: Tag Monat Jahr.
        Wenn sich jetzt jemand für den 3. bis 7. einträgt duchrläuft dein Script eine Schleife und erzeugt für jeden Tag einen DB-Eintrag. Problematisch wirds nur über Monats- und Jahreswechsel, da muß man ein bisschen tüfteln.

        Grüße, Andi

        Kommentar


        • #5
          Original geschrieben von webINspirit
          Leider noch net so ganz, beschäftige mich noch nicht so lange mit php und mysql. Hast du vielleicht irgendein Beispiel mit dem ich experimentiern könnte??
          mach ne tabelle:

          - tag
          - monat
          - jahr
          - belegung

          dann hast du (wie schon gesagt) max. 365 datensätze pro jahr.

          mach mal so:

          PHP-Code:
          // $string wird per formular übergeben//

          $beginn_tag=$string
          $ende_tag=$string1;


          // Schleife bis differenz abgelaufen //

          while($beginn_tag <= $ende_tag)
          {
          $result mysql_query("INSERT INTO tag (tag,name,jahr,belegung)
          VALUES ('
          $beginn_tag','$string_monat','$string_jahr','$string_belegung')");
          $beginn_tag=$beginn_tag+1;

          Das müsste gehen ...
          Signatur-Text ...

          Kommentar


          • #6
            Meine Datenbank hat 365 Einträge.
            Jeder Tag der frei ist steht die farbe grün in der spalte belegt.
            Jeder Tag der reserviert ist steht die farbe gelb in der spalte belegt.
            Jeder Tag der belegt ist steht die farbe rot in der spalte belegt.

            Ich habe diese variante gewählt was es einfach aber dennoch gut aussieht wenn man sich den Kalender anschaut.

            Das script ist sehr, sehr umständlich war aber bis jetzt die einzigste lösung die geklappt hat die datenbank zu aktualisieren.


            PHP-Code:
            <html>
            <head>
            <title>Anzeige Kalender</title>
            <link rel=stylesheet href=../formular.css>
            </head>
            <body>
            <?PHP
            include("../connect.php");

            if(
            $send==1// Ist 1 wenn Formular abgeschickt wurde
               
            {
               
            $sql="UPDATE $dbtab SET belegt='$test' WHERE id='$id';";
               
            mysql_query($sql,$link);
               echo
            "<meta http-equiv=refresh content=0;URL=$PHP_SELF?auswahl=$monat>";
               }



            $db = @mysql_connect($host,$dbuser,$pass)
            or
            die(
            $dbfehler);
            @
            mysql_select_db($dbase$db)
            or
            die(
            $dbfehler2);


            {
            $idatum=
            array(
            "01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31");

            echo 
            "<b>$auswahl</b><br><br>";

            for (
            $i=0;$i<31;$i++)
            {
             
            $daten mysql_query("SELECT id,belegt,tag FROM $dbtab WHERE monat='$auswahl'
            AND tag='" 
            $idatum[$i] . "'");
               while(list(
            $id,$belegt,$tag,$monat)=mysql_fetch_row($daten))
               {

               if (
            $belegt == '#00DF00')
               {

                echo 
            "<form action='$PHP_SELF' method=post>
                      <input type=hidden name=send value=1>
                      
            $tag
                      <select class=Bereich1 name=test>
                      <option value=
            $belegt>frei</option>
                      <option value=#00DF00>frei</option>
                      <option value=#FFFF00>reserviert</option>
                      <option value=#FF0000>belegt</option>
                      </select>
                      <input type=hidden name=id value=
            $id>
                      <input type=hidden name=monat value=
            $auswahl>
                      <input type=Submit value=Ändern>
                      </form>"
            ;

                }
               if (
            $belegt == '#FFFF00')
               {

               echo 
            "<form action='$PHP_SELF' method=post>
                     <input type=hidden name=send value=1>
                     
            $tag
                     <select class=Bereich1 name=test>
                     <option value=
            $belegt>reserviert</option>
                     <option value=#00DF00>frei</option>
                     <option value=#FFFF00>reserviert</option>
                     <option value=#FF0000>belegt</option>
                     </select>
                     <input type=hidden name=id value=
            $id>
                     <input type=hidden name=monat value=
            $auswahl>
                     <input type=Submit value=Ändern>
                     </form>"
            ;
               }
               if (
            $belegt == '#FF0000')
               {

                echo 
            "<form action='$PHP_SELF' method=post>
                      <input type=hidden name=send value=1>
                      
            $tag
                      <select class=Bereich1 name=test>
                      <option value=
            $belegt>belegt</option>
                      <option value=#00DF00>frei</option>
                      <option value=#FFFF00>reserviert</option>
                      <option value=#FF0000>belegt</option>
                      </select>
                      <input type=hidden name=id value=
            $id>
                      <input type=hidden name=monat value=
            $auswahl>
                      <input type=Submit value=Ändern>
                      </form>"
            ;
               }
               if (
            $belegt == '')
                echo 
            "<br>";

               }
             }
            }

            ?>
            Danke schon mal für all eure Tips!!!

            Kommentar

            Lädt...
            X