php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.11.2009, 09:50  
Neuer Benutzer
 
Registriert seit: 05.11.2009
Beiträge: 11
PHP-Kenntnisse:
Anfänger
emgknobi befindet sich auf einem aufstrebenden Ast
Standard Datenbank mit mehreren arrays Updaten

Guten Tag,
ich habe hier ein kleines script das eine alle einträge einer firma updatet, wenn man sie ändern möchte. allerdings immer nur eine firma.

ich möchte das jetz so haben, das ich alle die ich via checkbox auswähle, updaten kann.

was ich bisher schon habe is das ich die gewünschten firmen mit ner checkbox auswählen kann, und alle daten in arrays übergeben werden.

name[], adresse[], usw[]

nun hab ich halt mehrere arrays mit mehreren inhalten.

Das was ich bisher so im kopf habe is ne schleife zu machen und die einträge nach id zu zählen und die schleife so oft wie einträge gefunden wurden, durchlaufen zu lassen und dann ein eintrag nach dem nächsten upzudaten.

nur mach ich bei mir mit meinen versuchen das zu realisieren alles nur schlimmer und mehr fehler.

kann mir da jemand helfen ?

das hier is das script was einzelne firmen updatet:
PHP-Code:
$select mysql_query("SELECT position from daten WHERE position='".$_POST['position']."'");
    
$row mysql_fetch_assoc($select);    
    if(empty(
$row['position'])){
    echo 
"Position nicht vorhanden<br>";
        
$update mysql_query("UPDATE daten SET `position`='".$_POST['position']."',
                                                `namefirma` ='"
.$_POST['namefirma']."',
                                                `nameansprechpartner`='"
.$_POST['nameansprechpartner']."',
                                                `adresse`='"
.$_POST['adresse']."',
                                                `telefon`='"
.$_POST['telefon']."',
                                                `bildadresse` = '"
.$_POST['bildadresse']."',
                                                `email`='"
.$_POST['email']."' WHERE `id` = '".$_POST['id']."'");
                                                    

    }else{
    echo 
"Position schon vorhanden, wird getauscht<br>";
                  
mysql_query("UPDATE daten SET position='".$_POST['posialt']."' WHERE position='".$_POST['position']."'");
                  
mysql_query("UPDATE daten SET position='".$_POST['position']."' WHERE id='".$_POST['id']."'");
                  
$update mysql_query("UPDATE daten SET `namefirma` = '".$_POST['namefirma']."',
                                                `nameansprechpartner` = '"
.$_POST['nameansprechpartner']."',
                                                `adresse` = '"
.$_POST['adresse']."',
                                                `telefon` = '"
.$_POST['telefon']."',
                                                `bildadresse` = '"
.$_POST['bildadresse']."',
                                                `email` = '"
.$_POST['email']."' WHERE `id` = '".$_POST['id']."'");                        
                                                     
    }
    
$q mysql_query("SELECT id FROM daten ORDER BY position ASC;");
    
$c 1;
    while(
$row mysql_fetch_assoc($q)){
        
mysql_query("UPDATE daten SET position = "$c++ ." WHERE id = "$row['id']);
    }
    
mysql_close($verbindung);
    echo 
"Firma ".$_POST['namefirma']." wurde ge&auml;ndert.<br>";
    echo 
"Weiterleitung in 3 Sekunden..." 
die firmen werden noch nach dem update nach position gewordnet, ist aber jetz nicht wichtig

danke schön

Geändert von emgknobi (06.11.2009 um 09:54 Uhr).
emgknobi ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 06.11.2009, 10:21  
Erfahrener Benutzer
 
Benutzerbild von Andreas
 
Registriert seit: 22.04.2005
Beiträge: 391
Andreas ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,

ich weiß nicht, ob folgendes geht, ist blos ein Ansatz.

Für das Formular:
PHP-Code:

<input type="checkbox" name="aUpdateIDs[]" value="1" />
<
input type="text" name="aData[1][position]" value="" />
<
input type="text" name="aData[1][namefirma]" value="" />
<
input type="text" name="aData[1][nameansprechpartner]" value="" />

<
input type="checkbox" name="aUpdateIDs[]" value="2" /> 
Für das Update:

PHP-Code:
foreach($_POST["aUpdateIDs"] as $updateID) {
$sQuery "UPDATE
                  daten 
                SET 
                     `position`='"
.$_POST["aData"][$updateID]['position']."',
                     `namefirma` ='"
.$_POST["aData"][$updateID]['namefirma']."',
                     `nameansprechpartner`='"
.$_POST["aData"][$updateID]['nameansprechpartner']."',
                     `adresse`='"
.$_POST["aData"][$updateID]['adresse']."',
                     `telefon`='"
.$_POST["aData"][$updateID]['telefon']."',
                     `bildadresse` = '"
.$_POST["aData"][$updateID]['bildadresse']."',
                     `email`='"
.$_POST["aData"][$updateID]['email']."' 
                 WHERE `id` = '"
.$updateID."'"
$update mysql_query($sQuery);


Andreas ist offline  
Alt 06.11.2009, 10:32  
Neuer Benutzer
 
Registriert seit: 05.11.2009
Beiträge: 11
PHP-Kenntnisse:
Anfänger
emgknobi befindet sich auf einem aufstrebenden Ast
Standard

Ich werd ma gucken ob ich daraus was machen kann, danke schonmal für die hilfe :>
emgknobi ist offline  
Alt 06.11.2009, 11:03  
Neuer Benutzer
 
Registriert seit: 05.11.2009
Beiträge: 11
PHP-Kenntnisse:
Anfänger
emgknobi befindet sich auf einem aufstrebenden Ast
Standard

Also mein formular sieht in moment so aus:
PHP-Code:
<table align="center" width="250" border="0" cellspacing="0" cellpadding="0">
                  <tr>
                      <input type="hidden" name="id[]" value="<? echo $row->id ?>" size="20" maxlength="20">
                    <td width="125">Firmenname: </td>
                    <td width="135"><input type="text" name="namefirma[]" value="<? echo $row->namefirma ?>" size="20" maxlength="20">
                    </td>
                  </tr>
                  <tr>
                    <td>Ansprechpartner: </td>
                    <td><input type="text" name="nameansprechpartner[]" value="<? echo $row->nameansprechpartner ?>" size="20" maxlength="20"></td>
                  </tr>
                  <tr>
                    <td>Adresse: </td>
                    <td><input type="text" name="adresse[]" value="<? echo $row->adresse ?>" size="20" maxlength="20"></td>
                  </tr>
                  <tr>
                    <td>Telefon: </td>
                    <td><input type="text" name="telefon[]" value="<? echo $row->telefon ?>" size="20" maxlength="20"></td>
                  </tr>
                  <tr>
                    <td>E-Mail: </td>
                    <td><input type="text" name="email[]" value="<? echo $row->email ?>" size="20" maxlength="20"></td>
                     </tr>
                     <tr>
                    <td>Position: </td>
                    <td><input type="text" name="position[]" value="<? echo $row->position ?>" size="20" maxlength="20"></td>
                  </tr>
                  <tr>
                    <td>Bild Adresse :</td>             
                     <td><div><input type="text" name="bildadresse[]" value="<? echo $row->bildadresse ?>"></div></td>
                </tr>
                <input type="hidden" name="posialt[]" value="<? echo $row->position ?>" />        
                <input type="hidden" name="edit2" value="YES SIR!" />          
            </table><br>
ich weiss nich was das aData[1] bewirkt und was die zahl 1 darin macht.
mit der foreach schleife gehts schonmal das wenn ich 2 firmen auswähle, das die schleife auch 2 mal durchgeht. aber er gibt mir mein post nich wieder.

$_POST['namefirma'] = bei 2 durchläufen gibt er mir beide namen 2 mal zurück
$_POST['namefirma'][$updateID] = garnix mehr

: (
emgknobi ist offline  
Alt 06.11.2009, 11:23  
Neuer Benutzer
 
Registriert seit: 05.11.2009
Beiträge: 11
PHP-Kenntnisse:
Anfänger
emgknobi befindet sich auf einem aufstrebenden Ast
Standard

Alles klar, habs geschafft,

hab eine for schleife mit count benutzt und dann den zähler $i $_POST['namefirma'][$i]
genommen. bin mir sicher das die foreach methode auch geklappt hätte, bin aber für dein beitrag dankbar, dadurch kamm ich auf den richtigen weg ^^
emgknobi ist offline  
Alt 06.11.2009, 12:03  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Einfach noch ein kleines Beispiel eines Affenformulars mit ähnlicher Funktionalität:
PHP-Code:
if (isset($_POST['sent'])){
    foreach(
$_POST['chkb'] as $id){
        
$sql "
            UPDATE
            SET
                vorname = '" 
mysql_real_escape($_POST['vorname'][$id]) . "'
                name = '" 
mysql_real_escape($_POST['name'][$id]) . "'
                adresse = '" 
mysql_real_escape($_POST['adresse'][$id]) . "'
                ort = '" 
mysql_real_escape($_POST['ort'][$id]) . "'
            WHERE
                id = $id"
;
        
$res mysql_query($sql) or exit(mysql_error());
    }
    echo 
"Adressen ge&auml;ndert<br />";
}
else{
    
// Formular
    
$sql "
        SELECT 
            id,
            name,
            vorname,
            adresse,
            ort
        FROM 
            adressen"
;
    
$res mysql_query($sql) or exit(mysql_error());
    echo 
"<form action='' method='post>
            <table>\n"
;
    echo 
"<tr><th>Vorname</th><th>Name</th><th>Adresse</th><th>Ort</th><th>&auml;ndern?</th></tr>\n";
    while (
$obj mysql_fetch_object($res){
        echo 
"<tr>
                 <td><input name='vorname[$obj->id] .' value='$obj->vorname' /></td>
                 <td><input name='name[$obj->id]' value='$obj->name' /></td>
                 <td><input name='adresse[$obj->id]' value='$obj->adresse' /></td>
                 <td><input name='ort[$obj->id]' value='$obj->ort' /></td>
                 <td><input type='checkbox' name='chkb[$obj->id]' value='$obj->id' ></td>
              </tr>\n"
;
    }
    echo 
"<input type='hidden' name='sent' value='1' />
            <input type='submit' name='go' value='speichern' />\n"
;
    echo 
"</table>
            </form>\n"
;

__________________
Gruss
L
lazydog ist offline  
Alt 06.11.2009, 12:08  
Neuer Benutzer
 
Registriert seit: 05.11.2009
Beiträge: 11
PHP-Kenntnisse:
Anfänger
emgknobi befindet sich auf einem aufstrebenden Ast
Standard

affenformular xD ?
emgknobi ist offline  
Alt 06.11.2009, 12:23  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von emgknobi Beitrag anzeigen
affenformular xD ?
Frag halt mal in Wikipedia oder Google danach.
__________________
Gruss
L
lazydog 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
Ueber ein Formular die Datenbank updaten Dant3r PHP Tipps 2009 30 30.04.2009 16:23
Datenbank Suche mit mehreren Variablen BjoernSchmitt PHP Tipps 2009 34 22.03.2009 11:13
problem bei adminbereich für bilder in datenbank stellen mobilica PHP Tipps 2009 18 04.01.2009 10:58
Mehre Formularfelder in Datenbank updaten lassen Man-Chro PHP Tipps 2008 1 09.10.2008 10:30
Datenbank auslesen mit Hilfe von Arrays jackoff PHP Tipps 2008 7 06.09.2008 22:21
Datenbank am Anfang des Monats updaten dex PHP Tipps 2008 6 27.06.2008 10:04
Variablen in Datenbank speichern und auslesen freehawk PHP-Fortgeschrittene 4 16.03.2008 17:22
Arrays in eine Datenbank schreiben deCoo PHP Tipps 2007 8 20.04.2007 23:05
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:32
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:31
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:31
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:29
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:29
Drei verschiedene Arrays in die Datenbank? Paulo PHP Tipps 2004-2 21 18.11.2004 15:54

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
datenbankeintrag mittels checkboxen updaten, php datenbank mit array updaten, php datenbank updaten mit array, php update table set $_post array, array updaten, position eines bildes innerhalb bildadresse, zähler in $_post[]

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