php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.01.2012, 21:40  
Neuer Benutzer
 
Registriert seit: 05.01.2012
Beiträge: 4
PHP-Kenntnisse:
Anfänger
Thraex befindet sich auf einem aufstrebenden Ast
Standard UPDATE funktionert nicht wie gewollt

Moinsen,

ich bin noch blutiger Anfänger und Arbeite an einem Project was eigentlich noch viel zu schwer für mich ist, ich werde auch sobald das abgeschlossen ist, wieder zu Anfängen zurück gehen, da mir noch einige Grundlagen fehlen, bisher konnte ich mir mit Hilfen und Beispielen aus dem Internet das Script einigermaßen zusammenklauben und etwas Hilfe vor Ort hatte ich auch.
Das nur kurz zur Vorgeschichte.

Mein Project:
Eine Produktabfrage per Inputfeld und sql Abgleich, Ziel ist es ein kleines Inventur Tool zu haben. Funktioniert auch schon ganz gut, 2 sachen fehlen noch, das erste und hier fängt auch mein Problem an ist, das ich gefundene Ergebnisse nicht "Markieren" kann.

Markieren will ich den Artikel in einer Zeile mit 0 und 1 (in der Datenbak).
(Später sollen die beiden Werte dann in einer Datei gespeichert werden.)

Beispiel:
Ich gebe eine Lagernummer (SKU) ins Inputfeld ein, wird dieser gefunden, soll die Spalte "skumarker" auf 1 gesetzt werden.

Das Problem:
Er setzt nur den ersten Eintrag in der Tabelle auf 1, wenn dieser gefunden wurde, alles darunter wird konsequent ignoriert.

Mein php Code:

PHP-Code:
//Hier wird der Artikel Markiert
    
$update $mysqli->query("UPDATE `amazon` SET `skumarker` = 1 WHERE `seller_sku` = $skusave"); 
Ich werd noch irre, ich versteh einfach nicht warum das nicht funktioniert.
Wenn ich ohne die "WHERE" Anweisung Arbeite funktioniert es ohne Probleme, also die Werte werden entweder auf 0 oder 1 gesetzt, aber dann natürlich in allen Einträgen.

Falls irgendetwas an Informationen fehlt, seid mir nicht Bös, ist mein erster Beitrag hier und kenn "eure" Spielregeln noch nicht, aber ich bin lernfähig und! willig.

Gruß, Thraex
Thraex ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 06.01.2012, 22:26  
hts
Erfahrener Benutzer
 
Registriert seit: 07.09.2010
Beiträge: 722
PHP-Kenntnisse:
Fortgeschritten
hts befindet sich auf einem aufstrebenden Ast
Standard

Die SKU ist ein String, oder?

http://php.net/manual/de/mysqli.prepare.php
hts ist offline   Mit Zitat antworten
Alt 06.01.2012, 22:54  
Neuer Benutzer
 
Registriert seit: 05.01.2012
Beiträge: 4
PHP-Kenntnisse:
Anfänger
Thraex befindet sich auf einem aufstrebenden Ast
Standard

Richtig, die SKU wird in der Variabel $skusave gespeichert.
Hier der komplette Code:

PHP-Code:
        //Suche nach Teilen des Inputfeldes
        
$result $mysqli->query("SELECT seller_sku, item_name FROM amazon 
        WHERE seller_sku LIKE '%"
.$formularinhalt."%'"); 



            if(
$mysqli->affected_rows 1){
            }
            echo 
$mysqli->affected_rows;
            

        while(
$row $result->fetch_row()){


        
// Vergleich SKU mit Formulareingabe
        
if(stristr($row[0], $formularinhalt)){
        

            if(
$mysqli->affected_rows 1){
                echo 
$mysqli->affected_rows;

            }
        else
    
    {
        
$skufound    TRUE;
        
$skusave    $row[0];
        
$titlesave    $row[1];


}
}
}

            if(
$formularinhalt == ""){
                echo 
" Artikel online";
            }


            if(
$skufound == TRUE){
                echo 
" SKU gefunden: ";
                echo 
$skusave;
                echo 
"<br><br>";
                echo 
"<b>Artikelname:</b><br>";
                echo 
$titlesave;
            }
        else
        {
                echo 
" SKU gefunden";
        }



    
//Hier wird der Artikel Markiert
    
$update $mysqli->query("UPDATE `amazon` SET `skumarker` = 1 WHERE `seller_sku` = $skusave");

    
//Die Spalte skumarker auf Null setzen
    //$update = $mysqli->query("UPDATE `amazon` SET `skumarker` = 0 "); 
Thraex ist offline   Mit Zitat antworten
Alt 06.01.2012, 23:30  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Ja. Strings einfach so in die Query zu schreiben ist halt falsch. Auch SQL gehorcht Syntaxregeln.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 07.01.2012, 00:17  
Neuer Benutzer
 
Registriert seit: 05.01.2012
Beiträge: 4
PHP-Kenntnisse:
Anfänger
Thraex befindet sich auf einem aufstrebenden Ast
Standard

Hmmmm, jaaaaa, ich versteh nichts

Ich kann das hinpacken wo ich will, es funktioniert einfach nicht, Anleitungen auf Englisch bringen mir leider wenig bis gar nichts, ich weiß, nicht zwingend die beste Vorrausetzung um php zu lernen.

Wie gesagt, mir fehlt noch viel Grundwissen, eigentlich erstaunlich das es überhaupt funktioniert, sitze da jetzt schon 2 Wochen dran, und jetzt häng ich an son blöden Problem fest.

Ich hab kein Problem damit was zu Lesen, aber ein Link zu einen Tutorial zum Thema wäre nicht möglich? Google kann ich benutzen, finde aber eben keinen brauchbaren Tipp, sonst, nicht falsch verstehen, würde ich mich nicht in einen Forum Anmelden.

Bisher habe ich zb Schattenbaum.de oder tut.php-quake.net benutzt um mich durchzuhangeln. Bei schattenbaum.de steht zb unter "Daten ändern":
http://www.schattenbaum.net/php/update.php

Das Hilft mir jetzt aber bei meinem Problem nicht.
Thraex ist offline   Mit Zitat antworten
Alt 07.01.2012, 00:25  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Da kann ich Dir nur raten, schnellstens von diesem Projekt Abstand zu nehmen, wo es ja offensichtlich um Lagerverwaltung oder Kundenbestellungen geht. Sprich um reale Werte. Du kannst Dich damit nur in die Nesseln setzen, denn dass wir hier hier ein Grundlagenproblem nach dem anderen mit Dir hier diskutieren, bis das Projekt fertig ist, ist doch utopisch.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 07.01.2012, 00:38  
vankizmann
Gast
 
Beiträge: n/a
Standard

PHP-Code:
$update $mysqli->query("UPDATE `amazon` SET `skumarker` = '1' WHERE `seller_sku` = ".$skusave.";"); 
Probier dies mal, sofern ichs verstanden hab müsste das gehen.

MfG
  Mit Zitat antworten
Alt 07.01.2012, 01:29  
Neuer Benutzer
 
Registriert seit: 05.01.2012
Beiträge: 4
PHP-Kenntnisse:
Anfänger
Thraex befindet sich auf einem aufstrebenden Ast
Standard

@nikosch

es ist eine Lagerverwaltung, aber nicht so komplex wie du vielleicht denkst, es ist nur für interne zwecke gedacht, ich bin nicht per API mit Amazon verbunden, das wäre sicher fahrlässig!

Ich bin ja auch schon fast fertig, ich muss jetzt eben nur noch das mit der Markierung hinbekommen und dann will ich 2 Dateien ausgeben, fürs zweitere hab ich bereits ein Grundgerüst, sollte funktionieren. Eine Funktion um eine entsprechende Datei in die Datenbank zu Laden hab ich ja auch schon, alles wie ich es möchte.

Und wenn ich es sagen darf, für einen Anfänger der gerade 2 Wochen dabei ist, ist das Ergebnis doch schon nicht schlecht, bin ja auch nicht mehr der jüngste

@vankizmann

danke, aber leider reicht das nicht.
Komisch ist eben das er den ersten Eintrag auf 1 setzt, aber die darunter vollkommen ignoriert.

Es muss was mit dem WHERE Befehl zu tun haben, ohne den funktioniert es ja. Der Spaltenname ist defenitiv richtig und in der Variabel $skusave wird die SKU auch gespeichert.
Thraex ist offline   Mit Zitat antworten
Alt 07.01.2012, 02:17  
vankizmann
Gast
 
Beiträge: n/a
Standard

PHP-Code:
if(!$qry $mysqli->query("SELECT `id` FROM `amazon` WHERE `seller_sku` = '".$skusave."';"));

$res = array();
while(
$tmp $qry->fetch_array(MYSQLI_NUM)) {
    
$res array_merge($res$tmp);
}

foreach(
$res as $id) {
    
$update $mysqli->query("UPDATE `amazon` SET `skumarker` = '1' WHERE `id` = '".$id."';");

Versuch nochmal dies, vorrausgestezt du hast eine spalte id in der datenbank

Geändert von vankizmann (07.01.2012 um 02:24 Uhr).
  Mit Zitat antworten
Alt 07.01.2012, 03:59  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Sicher ist das aber auch nicht, vankizmann.

http://aktuell.de.selfhtml.org/artik...ontextwechsel/
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit Jquery und update Funktion NTM PHP Einsteiger 5 09.11.2011 13:18
[Erledigt] SQL update funktioniert mit Variable aus db nicht Sunarien Datenbanken 11 27.10.2011 16:53
[Erledigt] Update Feld in Tabelle Marvin75 Datenbanken 12 20.07.2011 20:32
php/mysql tabellen update funktioniert nicht! DonDemf PHP Einsteiger 4 01.07.2011 19:16
[Erledigt] PS / Update wird immer ausgeführt _cyrix_ PHP Einsteiger 29 22.05.2011 17:26
mit if bei update überprüfen ob Konto leer, dann Fehler ausgeben ejay PHP Einsteiger 11 15.04.2011 15:15
[Erledigt] Mehrere Querys hintereinander funktionieren nicht wernersbacher Datenbanken 3 14.03.2011 23:08
Update Database schmeisst mir HTML formatierte Tags raus Rilana PHP Tipps 2010 9 31.07.2010 21:39
mysqli_multi_query lässt Eintrag aus... Samhayne Datenbanken 8 07.02.2010 19:02
[Erledigt] vista, windows update Fehler 80070422 Screeze Off-Topic Diskussionen 3 23.09.2009 18:24
mySQL UPDATE gibt Fehler aus Tyrra PHP Tipps 2009 12 11.08.2009 18:03
[Erledigt] UPDATE wird trotz if clause vor SELECT ausgeführt Slithers Datenbanken 2 10.06.2009 16:13
Insert ... On duplicate key update Jacke Datenbanken 2 08.04.2009 14:11
UPDATE count nach Link Aufruf ? PHP Tipps 2006 9 22.01.2006 14:53

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sql abgleich update, schattenbaum mysqli_multi_query

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:28 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum