php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 21-03-2010, 16:52
SpecialFighter
 Registrierter Benutzer
Links : Onlinestatus : SpecialFighter ist offline
Registriert seit: Oct 2009
Beiträge: 31
SpecialFighter befindet sich auf einem aufstrebenden Ast
Standard MYSQL / PHP fehler - aber wo?

Hallo alle zusammen,

ich habe folgende tabelle (daten nennt sich diese) in meiner datenbank:

ID
Bemerkung I
Bemerkung II
Bemerkung III
Bemerkung IV


der benutzer klickt im Hauptmenü auf "anzeigen" wodurch folgende php datei ausgeführt wird.

PHP-Code:
<?php

    $rows 
= array("Bemerkung I""Bemerkung II""Bemerkung III""Bemerkung IV"); 


        
$abfrage "SELECT * FROM `daten` ORDER BY ID";
        
$ergebnis mysql_query($abfrage);  
        while(
$row mysql_fetch_array($ergebnis))  
        {  
            
// Werte der SQL-Abfrage an Array   
            
$be1[]= $row ["Bemerkung I"];   
            
$be2[]= $row ["Bemerkung II"];   
            
$be3[]= $row ["Bemerkung III"];   
            
$be4[]= $row ["Bemerkung IV"];   
        }
// While Schleife SQL  
        
        
        
        
echo
<br /> 
<div> 
<form  accept-charset="utf-8" action="update.php" method="post" >
 
 
 
<!-- ÜBERSCHRIFTEN --> 
<table cellspacing="4" cellpadding="4"> 
  <tr>
    <td id="content_beschriftung">Bemerkung I</td> 
    <td id="content_beschriftung">Bemerkung II</td> 
    <td id="content_beschriftung">Bemerkung III</td> 
    <td id="content_beschriftung">Bemerkung IV</td> 
  </tr>'
;
 
 
$anzahl_be1 count($be1);
$anzahl_be2 count($be2);
$anzahl_be3 count($be3);
$anzahl_be4 count($be4);
$anzahl = ($anzahl_be1 $anzahl_be2 $anzahl_be3 $anzahl_be4) / 4;

$x 0;
$x1 1;
$x2 2;
$x3 3;
$x4 4;
while (
$counter $anzahl)
    {
         echo
'
                <tr> 
                <td><input id="content_input" type="text" name="daten'
.$x1.'" size="23" maxlength="100" value="'.$be1[$x].'" /></td> 
                <td><input id="content_input" type="text" name="daten'
.$x2.'" size="18" maxlength="100" value="'.$be2[$x].'" /></td> 
                <td><input id="content_input" type="text" name="daten'
.$x3.'" size="18" maxlength="100" value="'.$be3[$x].'" /></td> 
                <td><input id="content_input" type="text" name="daten'
.$x4.'" size="18" maxlength="100" value="'.$be4[$x].'" /></td>
                </tr>'
;
        
$counter ++;            
        
$x ++;
        
$x1 += 4;
        
$x2 += 4;
        
$x3 += 4;
        
$x4 += 4;
        
    }
    
$counter *=4;
echo 
'<input type="hidden" name="hidden_counter" value="'.$counter.'" />';

echo 
'</table><input type="submit" name="button_update" value="&Auml;nderung &Uuml;bernehmen" /></form></div>';

 
?>
diese zeigt dann alle daten in form von inputfeldern an die in der tabelle drin stehen.

der benutzer hat jetzt die möglichkeit diese daten direkt in dem inputfeld zu ändern und durch klicken des buttons "Änderung übernehmen" wird eine weitere Datei aufgerufen:

PHP-Code:
<?php

$bem1 
0;
$bem2 1;
$bem3 2;
$bem4 3;


while (
$counter $hidden_counter)
            {
                
$aendern =     "UPDATE `daten` SET     `Bemerkung I` = '$daten_update[$bem1]',     `Bemerkung II` = '$daten_update[$bem2]', 
                                                        `Bemerkung III` = '$daten_update[$bem3]',`Bemerkung IV` = '$daten_update[$bem4]'"
;
                                                        
                
$update mysql_query($aendern);
                
                
$counter ++;
                
$bem1 += 4;
                
$bem2 += 4;
                
$bem3 += 4;
                
$bem4 += 4;
            }
die daten die der benutzer ändert und per button weiter schickt werden in das array $daten_update gefüllt.

(dieses passiert in einer externen datei)

PHP-Code:
$counter_db 0;
$x 1;
while(
$counter_db $hidden_counter)
            {
                
$daten_update[$counter_db] = $_POST['daten'.$x];
                
$counter_db ++;
                
$x ++;
            } 
man muss dazu sagen das variablen wie $hidden_counter oder $daten_update in einer externen datei gesammelt werden und an die entsprechenden dateien weitergeleitet werden.

Mein problem ist jetzt das der sql befehl nicht klappt. Er sagt mir immer das dass array $daten_update leer ist.

aber wenn ich das array mit print_r über der while sql schleife ausgebe dann erhalte ich alle Werte. Wo liegt der Fehler?
Mit Zitat antworten
  #2 (permalink)  
Alt 21-03-2010, 16:56
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

ich vermute mal, der Fehler liegt mal wieder an der Benutzung von Variablennamen innerhalb von Strings. Verkette doch deine SQL-Abfrage einfach ordentlich:

PHP-Code:
$zeichenkette "teil1 " $var1 " teil2 " $var2 $var3
und nicht
PHP-Code:
$zeichenkette "teil1 $var1 teil2 $var2$var3"
Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!

Geändert von AmicaNoctis (21-03-2010 um 17:07 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 21-03-2010, 16:59
SpecialFighter
 Registrierter Benutzer
Links : Onlinestatus : SpecialFighter ist offline
Registriert seit: Oct 2009
Beiträge: 31
SpecialFighter befindet sich auf einem aufstrebenden Ast
Standard

sry kann da grad nicht ganz folgen. kannste mir das anhand meines sql befehls mal zeigen, damit ich das lernen kann? wäre sehr nett
Mit Zitat antworten
  #4 (permalink)  
Alt 21-03-2010, 17:11
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Sieh dir mal deine Variable $aendern an und zwar in beiderlei Hinsicht: Inwiefern trifft das von mir geschriebene dort zu? Und was steht am Ende überhaupt drin (echo/var_dump)?

Edit: Ich seh grad, dass das zwar nicht der Grund für den Fehler ist, aber es ist trotzdem schlechter Stil, der oft zu Problemen führt. Prüf mal jeweils, ob die Variablen, die aus externen Dateien kommen, überhaupt das enthalten, was sie sollen. Der Code ist wegen dieser Abhängigkeiten schlecht nachzuvollziehen und du solltest erstmal selbst mit z. B. echo überprüfen, ob das überhaupt so klappt wie es soll.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!

Geändert von AmicaNoctis (21-03-2010 um 17:18 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 21-03-2010, 17:14
SpecialFighter
 Registrierter Benutzer
Links : Onlinestatus : SpecialFighter ist offline
Registriert seit: Oct 2009
Beiträge: 31
SpecialFighter befindet sich auf einem aufstrebenden Ast
Standard

Bei var_dump werden mir alle Werte ausgegeben die ich brauche
Mit Zitat antworten
  #6 (permalink)  
Alt 21-03-2010, 17:24
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Lass dir mal den Query per
PHP-Code:
echo $aendern 
ausgeben. Und die Abfrage führst du mal so aus:
PHP-Code:
$update mysql_query($aendern) or die(mysql_error()); 
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #7 (permalink)  
Alt 21-03-2010, 17:28
SpecialFighter
 Registrierter Benutzer
Links : Onlinestatus : SpecialFighter ist offline
Registriert seit: Oct 2009
Beiträge: 31
SpecialFighter befindet sich auf einem aufstrebenden Ast
Standard

ja bei echo $aendern erhalte ich das hier:
UPDATE `daten` SET `Bemerkung I` = '', `Bemerkung II` = '', `Bemerkung III` = '',`Bemerkung IV` = ''

als wenn keine daten im array drin sind. habe aber immer noch nicht verstanden wie mein sql befehl laut AmicaNoctis aussehen soll. muss da iwo punkte setzen. aber ka wo
Mit Zitat antworten
  #8 (permalink)  
Alt 21-03-2010, 17:34
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von SpecialFighter Beitrag anzeigen
muss da iwo punkte setzen. aber ka wo
Grundlagenwissen kann ich dir nicht beibringen, das musst du selbst tun, indem du dich im Handbuch über die Datentypen informierst. Mein Beispiel war eigentlich schon ausführlich genug.

Dass die Variablen leer sind, hab ich mir schon gedacht, daher der Hinweis, dass du alle anderen Variablen auch verfolgen sollst, insbesondere wenn sie aus einem externen Script stammen.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #9 (permalink)  
Alt 21-03-2010, 17:35
SpecialFighter
 Registrierter Benutzer
Links : Onlinestatus : SpecialFighter ist offline
Registriert seit: Oct 2009
Beiträge: 31
SpecialFighter befindet sich auf einem aufstrebenden Ast
Standard

ich finds nur schade das es Leute wie dich gibt, die Hilfe nur über indirekten Weg anbieten, anstatt die Lösung 1x zu verfassen damit der jenige für die Zukunft bescheid weiß...sehr sehr schade
Mit Zitat antworten
  #10 (permalink)  
Alt 21-03-2010, 17:35
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Das hat nichts mit deinem SQL-Befehl zu tun, sondern mit der Art, wie du die Daten aufbereitest. Das Problem scheint wohl hier zu liegen:
PHP-Code:
while($counter_db $hidden_counter)
{
  
$daten_update[$counter_db] = $_POST['daten'.$x];
  
$counter_db ++;
  
$x ++;

Gib mal hinter dieser Schleife die Daten mit
PHP-Code:
print_r($daten_update); 
aus.

Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #11 (permalink)  
Alt 21-03-2010, 17:36
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von SpecialFighter Beitrag anzeigen
ich finds nur schade das es Leute wie dich gibt, die Hilfe nur über indirekten Weg anbieten, anstatt die Lösung 1x zu verfassen damit der jenige für die Zukunft bescheid weiß...sehr sehr schade
Hier gibt es keine fertigen Lösungen, sondern nur Hilfe zur Selbsthilfe.

Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #12 (permalink)  
Alt 21-03-2010, 17:39
SpecialFighter
 Registrierter Benutzer
Links : Onlinestatus : SpecialFighter ist offline
Registriert seit: Oct 2009
Beiträge: 31
SpecialFighter befindet sich auf einem aufstrebenden Ast
Standard

also davon halte ich garnix. tut mir leid aber das ist meine Meinung...naja dann werd ich mir leider anders Hilfe verschaffen müssen. Habt mich zwar schon einen schritt weiter gebracht, worüber ich mich sehr freue, doch leider nicht zum Ziel.

Wünsche noch einen schönen Sonntag


P.S. habe hiner der schleife print_r ausgegeben
und erhalte auch die werte die ich eingegeben habe:

Array ( [0] => a [1] => b [2] => c [3] => d ) in dem beispiel jetzt a,b,c,d

Geändert von SpecialFighter (21-03-2010 um 17:41 Uhr)
Mit Zitat antworten
  #13 (permalink)  
Alt 21-03-2010, 17:45
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von SpecialFighter Beitrag anzeigen
also davon halte ich garnix. tut mir leid aber das ist meine Meinung...
Wir haben hier leider die Erfahrung gemacht, dass wenn man komplette Lösungen anbietet, der TS beim nächsten Problem wieder so etwas erwartet. Und das ist nicht Sinn der Sache. Wenn du das wirklich lernen willst, so schau dir ggf. mal das hier an. Wurde extra für Anfänger gemacht.

Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #14 (permalink)  
Alt 21-03-2010, 17:46
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von SpecialFighter Beitrag anzeigen
P.S. habe hiner der schleife print_r ausgegeben und erhalte auch die werte die ich eingegeben habe
Dann ist die Einbindung der externen Datei falsch. Liefer mal dazu den Code.

Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #15 (permalink)  
Alt 21-03-2010, 17:47
SpecialFighter
 Registrierter Benutzer
Links : Onlinestatus : SpecialFighter ist offline
Registriert seit: Oct 2009
Beiträge: 31
SpecialFighter befindet sich auf einem aufstrebenden Ast
Standard

ja wobei ich es nicht ganz verstehe wo der fehler in meiner sql anweisung sein soll.

ich habe 3 andere sql anweisungen die ganau so aussehen und die auch funktionieren
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Fehler in Script, aber wo? Ben18 PHP Developer Forum 8 29-12-2006 18:08
MYSQL Abfrage WHERE MATCH `` AGAINST ('') klapt nicht, finde aber kein Fehler lamoe SQL / Datenbanken 2 20-12-2006 22:58
Script Fehler, aber wo? Speedyspin PHP Developer Forum 5 16-12-2003 13:47
Script Fehler, aber wo? archie PHP Developer Forum 16 04-02-2003 13:02
Fehler, aber wo und warum ? mastermack SQL / Datenbanken 5 12-05-2002 19:21

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:15 Uhr.