SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Fortgeschrittene CSS-Techniken

Fortgeschrittene CSS-Techniken zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 26.04.2005, 18:15:42
shinbo-san shinbo-san ist offline
Anfänger
 
Registriert seit: Aug 2004
Beiträge: 15
Multi UPDATE, aber wie?

Ich nehme mal an das mein Problem eine Expertenfrage und darüber hinaus ein PHP Problem ist. Ich bin übrigens nicht so der Experte.

Ich benötige einen Denkanstoß, ob das was ich vor habe zu programmieren auch so umsetzbar ist.

Ich möchte in Grunde genommen nur einen Multi „UPDATE“ mit „PHP & MYSQL“ und nur mit einem Submit Button realisieren. Dabei hat die MYSQL-DB nur 10 Felder.

Da die Zeilen die zuvor eingetragen wurden, nicht konstant sind, muss das Update irgendwie dynamisch generiert werden.

Also im Klar Text manchmal gibt es z.B. 10 und manchmal nur 3 Einträge in der DB die gleichzeitig Upgedatet werden sollen. Das Formular auszugeben mit allen Eingetragenen Zeilen der DB die einen Kriterium erfüllen ist kein Problem, aber das Update.

Ich habe mittlerweile gelesen dass die Updates einzeln Aktualisiert werden müssen. Ich will aber nicht z.B. 20 Updates Button auf einer Seite haben sondern nur einen. Einen einzigen Eintrag Upzudaten ist kein Problem.

Muss ich die

Code:
$sql = „ UPDATE tabellenanme SET feld1=%s, feld2=%s, feld3=%s, WHERE feld1=%s”
in eine Schleife packen? Hat da jemand eine Idee?

Mein Konstruckt sieht jetzt wieder so aus:

Code:
if ((isset($_POST["update"])) && ($_POST["update"] == "form")) {
  $updateSQL = sprintf("UPDATE tabellenanme SET feld1=%s, feld2=%s, feld3=%s, feld4=%s, feld5=%s, feld6=%s, feld7=%s, feld8=%s WHERE feld9=%s AND feld10=%s",
                       GetSQLValueString($_POST['feld1'], "int"),
                       GetSQLValueString($_POST['feld2'], "int"),
                       GetSQLValueString($_POST['feld'], "int"),
                       GetSQLValueString($_POST['feld4'], "text"),
                       GetSQLValueString($_POST['feld5'], "text"),
                       GetSQLValueString($_POST['feld6'], "text"),
                       GetSQLValueString($_POST['feld7'], "text"),
                       GetSQLValueString(isset($_POST['feld8']) ? "true" : "", "defined","'Y'","'N'"),
                       GetSQLValueString($_POST['feld9'], "int"),
                       GetSQLValueString($_POST['feld10'], "text"));

  mysql_select_db($database_DB, $DB);
  $Result = mysql_query($updateSQL, $DB) or die(mysql_error());
  
  ?>
   <?php do {  ?>
 
 //Formular
  
   <?php } while ($row_obfeld = mysql_fetch_assoc($obfeld)); ?>

Geändert von shinbo-san (26.04.2005 um 18:53:52 Uhr)
Mit Zitat antworten
  #2  
Alt 26.04.2005, 18:49:56
langwebdesign langwebdesign ist offline
Junior Member
 
Registriert seit: Oct 2002
Ort: Titting
Alter: 39
Beiträge: 251
AW: Multi UPDATE, aber wie?

Hallo

also ich versteh jetzt dein Problem nicht ganz! kannst du es vielleicht nochmal erklären?


werds mir später mal anschauen hab grad kei zeit mehr

ciao
__________________
Affen benutzen oft Stöckchen als Hilfsmittel...

Geändert von langwebdesign (26.04.2005 um 19:01:15 Uhr)
Mit Zitat antworten
  #3  
Alt 26.04.2005, 19:06:30
shinbo-san shinbo-san ist offline
Anfänger
 
Registriert seit: Aug 2004
Beiträge: 15
AW: Multi UPDATE, aber wie?

Ich habe sagen wir mal 3 Einträge in der DB mit dem gleichen Alter 18.
Diese liste ich mir untereinander im Formular auf. Das habe ich mit der Do While Schleife gemacht. Sobald ich aber den Update Button drücke Aktualisiert er mir leider nur den Letzten Eintrag. Und nicht alle im Formular veränderten einträgen auf der richtigen ID.

Beispiel:
ID 1 wurde z.B. nur Alter geändert
ID3 würde nur Name geändert usw.


MYSQL Strucktur:

ID | Alter | Name | Vormame | usw.

Formular:

ID 1
Alter: Input-Feld
Name: Input-Feld
Vorname: Input-Feld
usw: Input-Feld

ID 2
Alter: Input-Feld
Name: Input-Feld
Vorname: Input-Feld
usw: Input-Feld

ID 3
Alter: Input-Feld
Name: Input-Feld
Vorname: Input-Feld
usw: Input-Feld

Update Button

(Habe meinen obrigen Beitrag eben verändert und Quellcode hinzugefügt.)

Geändert von shinbo-san (26.04.2005 um 19:09:56 Uhr)
Mit Zitat antworten
  #4  
Alt 26.04.2005, 19:15:00
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Multi UPDATE, aber wie?

wo ist das problem? fehlermeldung? eventuelle dinge die passieren sollte aber nicht passieren?

bei mir klappt

UPDATE tabelle SET `feldeins` = 'werteins` , `feldzwei` = 'wertzwei'

usw usf prima.
Mit Zitat antworten
  #5  
Alt 26.04.2005, 19:26:08
shinbo-san shinbo-san ist offline
Anfänger
 
Registriert seit: Aug 2004
Beiträge: 15
AW: Multi UPDATE, aber wie?

Es gibt keine Fehlermeldung.

Mein Problem ist nicht eine Zeile in der DB zu Aktualisieren sondern z.B. 3 Gleichzeitig Aktualisieren zu können, mit einer Formularmaske und einen Button.

Bei mir passiert folgendes.
Alle geänderten einträge vor ID 3 werden beim UPDATE nicht berücksichtigt.

MYSQL:

ID Alter Vorname Name
1 18 Frank x
2 18 Michael y
3 18 Peter z
Mit Zitat antworten
  #6  
Alt 26.04.2005, 19:59:21
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: Multi UPDATE, aber wie?

Warum legst Du im Formular nicht einfach ein Array an und durchlaeufst, dieses Array mit einer Schleife. Innerhalb der Schleife, kannst Du dann das UPDATE für jeden zuaendernden Datensatz durchfuehren.
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #7  
Alt 26.04.2005, 20:28:10
shinbo-san shinbo-san ist offline
Anfänger
 
Registriert seit: Aug 2004
Beiträge: 15
AW: Multi UPDATE, aber wie?

So in etwa:

Code:
$datensetz = array($feld1, $feld2, $feld3);
if(is_array($datensetz)){
foreach($datensetz as $key => $feld10){
$sql = „ UPDATE tabellenanme SET feld1=%s, feld2=%s, feld3=%s, WHERE feld1='$feld10'”
}
}
ich hab's nicht so mit Arrays
Mit Zitat antworten
  #8  
Alt 26.04.2005, 22:19:26
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: Multi UPDATE, aber wie?

Eher so:
HTML-Code:
<form action="bla.php" method="post">
  <input type="text" name="values[id][]">
  <input type="text" name="values[alter][]">
  <!-- ... -->
</form>
PHP-Code:
<?php
  
for($i 0$i count($_POST['values']['id']); $i++){
    
mysql_query('UPDATE ... id = ' $_POST['values']['id'][$i] ...);
  }
?>
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #9  
Alt 27.04.2005, 09:33:13
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
AW: Multi UPDATE, aber wie?

@|Coding, Du hast'n "POST/GET-Bug" eingebaut... ;-)
Mit Zitat antworten
  #10  
Alt 27.04.2005, 10:13:10
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: Multi UPDATE, aber wie?

Ups! Das kommt davon wenn man zweigleisig faehrt :-)
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
update values waoo MySQLi/PDO/(MySQL) 1 03.03.2005 17:41:41
Update verweigert den Dienst BlackSnake MySQLi/PDO/(MySQL) 10 28.01.2004 15:38:15
Multi Threading Troniac PHP für Fortgeschrittene und Experten 7 19.10.2002 19:38:05


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:51:45 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt