php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.03.2006, 20:00  
Benutzer
 
Registriert seit: 01.03.2006
Beiträge: 34
Jabi
Standard Mehrere Daten ändern in der datenbank vom gleichem typ?

Hallo liebe community
ich lese aus einer datenbank eine tabelle aus
von 1-100 zb ist eine fortlaufende nummer
ich ahb mir nun ein formular gebastelt und nun habe ich in jeder zeile ca 5 spalten und in der 6ten is der submit button drin
nun ich kann zb in einer zeile dann werte eintragen und diese dann ändern
das ganze mache ich mit der "post" method..

wenn ich jetzt aber in zeile 2 und 3 werte änder übernimmt er nur die werte in der zeile wo ich auf submit gedrückt habe
habe schon versucht den submit butten unter der tabelle zu setzen und dann nochmal probiert aber dann schmeißts mich immer aus meinem programm

ich könnte mir vorstellen das es mit einer "for" schleife gehen könnte aber habe keine ahnung wie

zum formular selber
ich lasse die produkt id auslesen und dann kann ich über diese den warenbestand ändern oder auch den waren namen

so sieht mein code aus:
http://nopaste.php-q.net/195754

vieleicht kann mir jemand helfen bin da heute den ganzen tag schon verzweifelt :/

danke


// edit by Corvin Gröning:
PHP-Code ausgelagert.
Jabi ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 03.03.2006, 15:20  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.240
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Hab keine Lust, den Code durchzulesen, aber mach mal den Button unter die Tabelle und setze die Post-Variablen als Array. Beispiel:

Code:
<input type='hidden' name='idquantity[]' size='10' value='<?php echo $ergebnis['products_id'];?>'>
Dann kannst du die auch im PHP als Array auslesen.
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline  
Alt 03.03.2006, 16:14  
Benutzer
 
Registriert seit: 01.03.2006
Beiträge: 34
Jabi
Standard

vielen dank für die antwort werds gleich ausprobieren
Jabi ist offline  
Alt 03.03.2006, 16:31  
Benutzer
 
Registriert seit: 01.03.2006
Beiträge: 34
Jabi
Standard

mysql error :
UPDATE products SET products_quantity = products_quantity Array Array WHERE products_id = Array

wie soll ich die arrays denn definieren bis jetzt hatte ich immer für jede zeile ja die product id in nem hidden text feld von da aus gings dann mit dem updaten der db...
Jabi ist offline  
Alt 03.03.2006, 16:37  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.240
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Da dus in PHP-Fortgeschrittene geschrieben hast, ging ich davon aus, dass du weisst, was ein Array ist... Überlege nochmal bzw. lass dir mal ausgeben, was du nun in deinen POST-Variablen drin stehen hast...
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline  
Alt 03.03.2006, 16:51  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Hi.

Leg die Namen der Formularfelder als zweidimensionales Array an:

PHP-Code:
<?php
while($aRecord mysql_fetch_assoc($rResult)) {

    
printf('<input type="text" name="entries[%d][name]" value="%s" />'$aRecord['id'], $aRecord['name']);
}
?>
Basti
Basti ist offline  
Alt 03.03.2006, 16:59  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Hallo und willkommen im Forum!
Du musst dir bei diesem Problem merken, um welche Daten es sich handelt, also
welcher ID sie angehören!

Vorneweg aber die Frage, ob du das ganze nicht gleich mit phpMyAdmin lösen
möchtest, das ist schließlich dafür programmiert worden!
phpMyAdmin

Ein kleines Beispiel
PHP-Code:
// MySQL Tabelle
id | spalte1 | spalte2

<?php
// abholen
$sql "SELECT id, spalte1, spalte2 FROM tabelle LIMIT 0, 100";
$res mysql_query($sql) or die("Error using mysql_query(): $sql");
?>
<form action="<?php print $_SERVER["PHP_SELF"]; ?>" method="post">
<?php
while ($row mysql_fetch_assoc($res)) {
?>
<input name="spalte1[<?php print $row["id"]; ?>]" type="text" value="<?php print $row["spalte1"]; ?>" />
<input name="spalte2[<?php print $row["id"]; ?>]" type="text" value="<?php print $row["spalte2"]; ?>" />
<input type="submit" value="save ALL changes" />
<?
}
<?
</
form>
Das wäre jetzt ein Formular für alle 100x2 Datensätze. Der "save ALL changes"-Code
sähe dann (ohne Optimierungen) so aus:
PHP-Code:
<?php
foreach ($_POST["spalte1"] as $id => $value) {
  
$spalte1 $_POST["spalte1"][$id];
  
$spalte2 $_POST["spalte2"][$id];
  
$sql "UPDATE tabelle SET spalte1 = '$spalte1', spalte2 = '$spalte2' WHERE id = $id LIMIT 1";
  
mysql_query($sql) or die("Error using mysql_query(): $sql");
}
// um zu sehen, was in $_POST steht, die folgende Zeile einfach auskommentieren
// print "<pre>"; print_r($_POST);
?>
Also zuerst benutzen wir ein Formular in das alle Datensätze mit Verbindung zur ID geschrieben werden und
danach speichern wir in einer foreach-Schleife das ganze wieder in der Datenbank.
Du musst natürlich beachten, dass das ganze nicht optimiert ist, also 100-UPDATE
Befehle an die DB gehen. Schön ist das so natürlich nicht.
Aber über Optimierungen solltest du erst nachdenken, wenn du dieses Prinzip
verstanden und korrekt implementiert hast.
Zergling-new ist offline  
Alt 03.03.2006, 17:30  
Erfahrener Benutzer
 
Registriert seit: 06.01.2005
Beiträge: 308
hekto
Standard

Zitat:
Du musst natürlich beachten, dass das ganze nicht optimiert ist, also 100-UPDATE
Befehle an die DB gehen. Schön ist das so natürlich nicht.
stehe zur zeit vor dem gleichem problem, wie bekommt man dies aber optimiert
__________________
Gruß
Hekto
hekto ist offline  
Alt 03.03.2006, 18:25  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Mach doch mal einen Vorschlag...
Zergling-new ist offline  
Alt 03.03.2006, 18:41  
Benutzer
 
Registriert seit: 01.03.2006
Beiträge: 34
Jabi
Standard

@Zergling:
danke für deine antwort ich werds dann morgen ausprobieren ahb heute irgendwie keinen willen mehr

ich wills deswegen nicht in der db machen da das ganze über einen online shop im adminbereich gemacht werden soll

danke nochmal für die antwort


// edit by Corvin Gröning:
Zitat entfernt, da es unnötig den Thread in die Länge und Breite gezogen hat.
Jabi ist offline  
 


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
Eintragen von Daten per Formular in MySQL Datenbank PHP Tipps 2004 11 07.06.2009 08:58
Daten aus Datenbank in eine Variable speichern cyberfreak PHP Tipps 2008 1 24.04.2008 15:20
Daten in Datenbank übergeben Bebre PHP Tipps 2008 2 11.02.2008 11:41
Daten von Datenbank durch Klick in Feld holen Taktaky PHP Tipps 2008 23 22.08.2007 17:20
Daten werden nicht in die Datenbank eingetragen picco PHP Tipps 2005-2 17 06.10.2005 11:38
[Erledigt] Daten aus einer Datenbank auslesen Datenbanken 2 04.09.2005 19:13
Daten aus Datenbank auslesen und in PHP-Seite anzeigen PHP Tipps 2005-2 1 28.08.2005 20:16
Daten übertragen von datenbank zu datenbank PHP Tipps 2005-2 6 20.06.2005 13:19
Daten aus Datenbank in Formular PHP Tipps 2005 24 20.04.2005 17:10
Daten in Datenbank ändern PHP Tipps 2005 3 27.01.2005 14:40
Über Smarty Daten i d Datenbank (php MyAdmin) aktualisieren. PHP Tipps 2005 1 26.01.2005 09:40
Viele Daten in die Datenbank eintragen. sunset PHP Tipps 2005 10 11.01.2005 19:32
[Erledigt] Daten in Datenbank einfügen Datenbanken 2 18.10.2004 21:11
[Erledigt] Nur bestimmte Daten auslesen und in Datenbank schreiben PHP Tipps 2004 2 26.09.2004 14:33
[Erledigt] Daten in Datenbank einlesen Datenbanken 2 08.08.2004 13:31

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php mehrer datensätze zusammen ändern, mehrere datensätze ändern, phpmyadmin mehrere datensätze gleichzeitig ändern, php mehrere datensätze mit einem submit ändern, ändern von db daten id, zeilenweise ändern in datenbank, db mit php upadte bearbeiten, sql datensatz ändern foreach, phpmyadmin mehrere datensätze ändern, phpmyadmin mehrere einträge, mehrere datentypen gleichzeitig ändern sql, mehreren daten den typ bearbeiten, von mehreren daten den typ bearbeiten, mehrer datensätze ändern, daten in datenbank ändern foreach, phpmyadmin mehrere datensätze auf einmal ändern, phpmyadmin mehrere datensätze in einer tabelle ändern, mehrere datenbankfelder ändern, phpmyadmin mehrere datensätze gleichzeitg ändern, php admin mehrer dateien ändern gleicher typ

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:02 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.