updateprobleme

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

  • updateprobleme

    hallo helferlein,

    ich versuche gerade daten in einer tabelle zu ändern. klappt soweit sogut, nur eine änderung will nicht und wirft immer eine fehlermeldung aus. vielleicht bin ich auch blind oder hab meine tabelle falsch eingestellt. wenn jemand also spass an fehlersuchbildern in php hat, wäre das supernett..

    hier der tabellenaufbau:



    hier der code:

    shows.php

    PHP-Code:
    <?php
    //transferdaten
    global $anzeigen;
    global 
    $inputname;
    global 
    $inputposition;
    global 
    $inputonline;
    global 
    $inputtext;
    global 
    $inputlimit;

    //transferdaten bearbeiten
    $inputtext=utf8_encode($inputtext);
    $inputname=strtoupper($inputname);
    $inputname=utf8_encode($inputname);
    if(!
    $inputonline){$inputonline=0;}
    if(
    $inputposition>|| $inputposition<1){$inputonline=0;}

    //variablen definieren
    $ausgabe="";
    $inhalt="";
    $inhalt2="";

    //die alten seiten zeigen:
    include('index.html');

    // datenbank connect
    include ('connect.php');

    //Stellt Connect zu Datenbank her 
    $db = @MYSQL_PCONNECT($db_server,$db_user,$db_passwort)
    or die(
    "<br><br>sorry,<br>probleme mit der datenbank. bitte sp&auml;ter nochmal versuchen..");
    $db_select = @MYSQL_SELECT_DB($db_name$db)
    or die(
    "<br><br>sorry,<br>probleme mit der datenbank. bitte sp&auml;ter nochmal versuchen..");

    //spalte2:
    if($anzeigen){



        
    //auslesen
        
    $anfrage="SELECT * FROM shows WHERE id='$anzeigen'";
        
    $ergebnis=mysql_query($anfrage);
        
    $zeile=mysql_fetch_row($ergebnis);
        

    //neue eingaben? dann ändern..
    if($inputname || $inputposition || $inputtext || $inputlimit){

    if(
    $inputname!=$zeile[1]){
        
    $anfrage1="UPDATE shows SET name='$inputname' WHERE id='$anzeigen' LIMIT 1";
        
    $ergebnis1=mysql_query($anfrage1);
        if(!
    $ergebnis1){echo"<br>name-update fehlgeschlagen<br>";}
    }
    if(
    $inputposition!=$zeile[2]){
        
    $anfrage1="UPDATE shows SET pos='$inputposition' WHERE id='$anzeigen' LIMIT 1";
        
    $ergebnis1=mysql_query($anfrage1);
        if(!
    $ergebnis1){echo"<br>position-update fehlgeschlagen<br>";}
    }
    if(
    $inputonline!=$zeile[3]){
        
    $anfrage1="UPDATE shows SET status='$inputonline' WHERE id='$anzeigen' LIMIT 1";
        
    $ergebnis1=mysql_query($anfrage1);
        if(!
    $ergebnis1){echo"<br>status-update fehlgeschlagen<br>";}
    }
    if(
    $inputtext!=$zeile[4]){
        
    $anfrage1="UPDATE shows SET text='$inputtext' WHERE id='$anzeigen' LIMIT 1";
        
    $ergebnis1=mysql_query($anfrage1);
        if(!
    $ergebnis1){echo"<br>text-update fehlgeschlagen<br>";}
    }
    //-----hier folgt das problem:
    if($inputlimit!=$zeile[5]){
        
    $anfrage1="UPDATE shows SET limit='$inputlimit' WHERE id='$anzeigen' LIMIT 1";
        
    $ergebnis1=mysql_query($anfrage1);
        if(!
    $ergebnis1){echo"<br>bilderlimit-update fehlgeschlagen<br>";}
    }
    //-----problemende

    //nach dem update neu
    //auslesen
        
    $anfrage="SELECT * FROM shows WHERE id='$anzeigen'";
        
    $ergebnis=mysql_query($anfrage);
        
    $zeile=mysql_fetch_row($ergebnis);
        
    }
    //end if inputname || ...

    //checkbox einstellen
        
    if($zeile[3]==0){
            
    $checked="";
            }else{
            
    $checked="checked";
        }
    $inhalt2.='
        <td>    
            <font color="#FFFFFF" size="2" face="Helvetica, Arial, sans-serif"><img src="Bilder/zahlen_02.gif"> 
            <br><br>
            Name<br>
            <input name="inputname" type="text" value="'
    .$zeile[1].'" size="20">
            <br><br>
            Position<br>
            <input name="inputposition" type="text" id="inputposition" value="'
    .$zeile[2].'" size="2" maxlength="2">
            <br><br>
            Online<br>
            <input name="inputonline" type="checkbox" value="1" '
    .$checked.'>
            <br><br>
            Bildanzahl<br>
            <input name="inputlimit" type="text" id="inputlimit" value="'
    .$zeile[5].'" size="2" maxlength="2">
            <br><br>
            Text<br> 
            <textarea name="inputtext" cols="23" rows="20">'
    .$zeile[4].'</textarea>
            <br>
            </font>
        </td>
        <td>
              <font color="#FFFFFF" size="2" face="Helvetica, Arial, sans-serif"><img src="Bilder/zahlen_03.gif"><br>
            <br>
            <input name="submit" type="submit" value="UPLOAD">
            <br>
            <br>
            __________<br>
            <br>
            SHOW: '
    .$zeile[1].'
            <br><br>
            <a href="bilderupload.php?anzeigen='
    .$anzeigen.'">Bilder zur Show</a>
            <br><br>
            <a href="zipupload.php?anzeigen='
    .$anzeigen.'">.zip zur Show</a>
            </font>
        </td>
    '
    ;



    }
    //end if anzeigen

    //db show auslesen: nur die online markierten, nach pos sortiert, maximal 6 stück
    $anfrage="SELECT * FROM shows WHERE status='1' ORDER BY pos";
    $ergebnis=mysql_query($anfrage);

    //wieviele reihen?
    $anzahl mysql_num_rows($ergebnis);

    //wieviele shows online
    $inhalt.= "<br>SHOWS <b>ONLINE</b>: $anzahl";
    $inhalt.="<br><br>";

    //sammeln
    $inhalt.="<blockquote>";
    $i=1;
    while(
    $zeile=mysql_fetch_row($ergebnis)){
        
    $inhalt.='<font size="1">'.$zeile[2].'</font> <a href="shows.php?anzeigen='.$zeile[0].'">'.$zeile[1].'</a>';
    $inhalt.='<br><br>';
        
    $i++;
    }
    $inhalt.='</blockquote>';

    //db offline show auslesen: nur die offline markierten, nach pos sortiert, maximal 6 stück
    $anfrage="SELECT * FROM shows WHERE status='0' ORDER BY pos";
    $ergebnis=mysql_query($anfrage);

    //wieviele reihen?
    $anzahl mysql_num_rows($ergebnis);

    //wieviele shows online
    $inhalt.= "<br>SHOWS <b>OFFLINE</b>: $anzahl";
    $inhalt.="<br><br>";

    //sammeln
    $inhalt.="<blockquote>";
    while(
    $zeile=mysql_fetch_row($ergebnis)){
        
    $inhalt.='<font size="1">'.$zeile[2].'</font> <a href="shows.php?anzeigen='.$zeile[0].'">'.$zeile[1].'</a>';
    $inhalt.='<br><br>';
    }
    $inhalt.='</blockquote>';
    //
    echo'
    <br><strong class="typo">SHOWS:</strong> <br>
    <form action="shows.php?anzeigen='
    .$anzeigen.'" method="post" enctype="multipart/form-data">
      <table width="100%" border="1" cellpadding="10" cellspacing="0" bordercolor="#FFFFFF" bgcolor="#FF0000" class="tabelle">
        <tr valign="top"> 
          <td>
              <font color="#FFFFFF" size="2" face="Helvetica, Arial, sans-serif">
              <img src="Bilder/zahlen_01.gif"><br>
            '
    .$inhalt.'
            </font>
          </td>
          '
    .$inhalt2.'
        </tr>
      </table>
    </form>
    '
    ;
    //
    //ausgeben
    echo $ausgabe;

    //ende
    echo "</body></html>";

    //verbindung beenden
    mysql_close($db);

    ?>

  • #2
    Re: updateprobleme

    PHP-Code:
    //-----hier folgt das problem:
    if($inputlimit!=$zeile[5]){
        
    $anfrage1="UPDATE shows SET limit='$inputlimit' WHERE id='$anzeigen' LIMIT 1";
        
    $ergebnis1=mysql_query($anfrage1);
        if(!
    $ergebnis1){echo"<br>bilderlimit-update fehlgeschlagen<br>";}
    }
    //-----problemende 
    laß dir deine anfrage mal per echo ausgeben, teste sie in php_my_admin; benutze mysql_error.

    wie lauten die fehlermeldungen?

    darf eine spalte limit heißen? woher weiß die query dann, was du machen möchtest?
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      Re: Re: updateprobleme

      Original geschrieben von derHund
      darf eine spalte limit heißen?
      darf sie, wenn man backticks ` verwendet.

      aber dennoch ist es nicht ratsam spalten so zu nehmen. grundsätzlich sollte man alle reservierten worte niemals für einen spalten- und/oder tabellennamen verwenden.
      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


      • #4
        yep, der spaltenname wars.
        merken: verbotene wörter nicht für variablen nutzen.

        vielen dank an die helfer
        niels

        Kommentar


        • #5
          Original geschrieben von weltenbuilder
          merken: verbotene wörter nicht für variablen nutzen.
          ich korrigiere:

          streiche: variablen

          setze: spalten- und/oder tabellennamen.
          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

          Lädt...
          X