php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.01.2012, 00:05  
Neuer Benutzer
 
Registriert seit: 07.01.2012
Beiträge: 10
PHP-Kenntnisse:
Anfänger
Falki14 befindet sich auf einem aufstrebenden Ast
Standard Checkboxes nach editieren wieder in die Datenbank abspeichern

Gute Tag liebe PHP Community,

ich habe folgendes Problem, ich möchte jetzt die Ausgelsenen Checkboxes die bereits in der Datenbank sind und auch erfolgreich makiert ausgegeben wurden verändern können und dann wieder in die Datenbank schreiben können.

Bis jetzt funktioniert nur das die noch nicht makiert gewesenen Datensätze eingetragen werden aber vorhanden nicht gelöscht werden können also die man unchecked macht.

Der Quellcode sieht bis jetzt so aus:

PHP-Code:
// Holt sich die ZLID die benötigt wird um zu prüfen ob die Checkbox checked //war oder nicht
$gast_l="SELECT * FROM gast_leistungen WHERE GID = ".$gid."";
        
$db_erg2 mysql_query$gast_l);
        if ( ! 
$db_erg2 )
        {    
          die(
'Ungültige Abfrage: ' mysql_error());
        }
// Neuer Array der mit den vorhanden aktivierten Checkbox IDs befüllt wird
$zlidp=array();
            
while (
$zeile2 mysql_fetch_array$db_erg2))
{
        
array_push($zlidp$zeile2['ZLID']);
}
// Die Daten die von den Checkboxes kommen wenn man das //Formularabgesendet hat
foreach($_POST['zusatzleistung'] as $value)
{
// Schaut nach ob einer der jetzige aktivierten Checkboxes bereits aktiviert //in der Datenbank vorliegt    
    
if (in_array($value$zlidp)) {
        
        }
// Wenn der Datensatz nicht in der Datenbank aktiviert vorliegt wird er nun //eingetragen
    
else if (! in_array($value$zlidp)) {
            
$eintrag2="INSERT INTO gast_leistungen(ZLID, GID)
VALUES ('"
.$value."', '".$gid."')";
mysql_query($eintrag2) or die (mysql_error());
}
// Wenn der Datensatz bereitsvorhanden ist aber deaktiviert wurde soll er //gelöscht werden
        
else {
    
$eintrag2="DELETE FROM gast_leistungen WHERE ZLID='$value' AND GID='$gid'";
mysql_query($eintrag2) or die (mysql_error());
        }

Ich hoffe ihr könnt mir weiterhelfen, damit endlich die deaktivierten Checkboxes auch in der Datenbank übernommen werden.

Mit freundlichen Grüßen

Falki14
Falki14 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 13.01.2012, 00:53  
meikel
Gast
 
Beiträge: n/a
Standard

Wie sieht das Formular aus?
  Mit Zitat antworten
Alt 13.01.2012, 00:57  
Neuer Benutzer
 
Registriert seit: 07.01.2012
Beiträge: 10
PHP-Kenntnisse:
Anfänger
Falki14 befindet sich auf einem aufstrebenden Ast
Standard

Hier der Teil vom Formular:

PHP-Code:
db_connection();

$gast_l="SELECT * FROM gast_leistungen WHERE GID = ".$gid."";
        
$db_erg2 mysql_query$gast_l);
        if ( ! 
$db_erg2 )
        {    
          die(
'Ungültige Abfrage: ' mysql_error());
        }

            
$zlidp=array();
    
while (
$zeile2 mysql_fetch_array$db_erg2))
        {
        
array_push($zlidp$zeile2['ZLID']);
            
        }

            
$leistung="SELECT ZLID, Name, Gebuer FROM leistungen"

        
$db_erg mysql_query$leistung );
        if ( ! 
$db_erg )
        {    
          die(
'Ungültige Abfrage: ' mysql_error());
        }

    
    
        while (
$zeile mysql_fetch_assoc$db_erg))
        {
    
        
        if (
in_array($zeile['ZLID'], $zlidp)) {
                echo 
'<input type="checkbox" checked="checked" name="zusatzleistung[]" value='$zeile['ZLID'] .'>'$zeile['Name'].' '$zeile['Gebuer'].' € <br>';    

        
        else {
            echo 
'<input type="checkbox"  name="zusatzleistung[]" value='$zeile['ZLID'] .'>'$zeile['Name'].' '$zeile['Gebuer'].' € <br>';    
        }
            } 
Mit freundlichen Grüßen

Falki14
Falki14 ist offline   Mit Zitat antworten
Alt 13.01.2012, 01:49  
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

Es ist eigentlich ganz einfach:

A = Menge aller Daten, die vorher markiert waren
B = Menge aller Daten, die jetzt markiert sind

DELETE FROM DB: A not in B
INSERT INTO DB: B not in A
__________________
--
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 13.01.2012, 10:56  
Neuer Benutzer
 
Registriert seit: 07.01.2012
Beiträge: 10
PHP-Kenntnisse:
Anfänger
Falki14 befindet sich auf einem aufstrebenden Ast
Standard

Also ich ahbe es mit:
PHP-Code:
$gast_l="SELECT * FROM gast_leistungen WHERE GID = ".$gid."";
        
$db_erg2 mysql_query$gast_l);
        if ( ! 
$db_erg2 )
        {    
          die(
'Ungültige Abfrage: ' mysql_error());
        }
$zlidp=array();
            
while (
$zeile2 mysql_fetch_array$db_erg2))
{
        
array_push($zlidp$zeile2['ZLID']);
}
foreach(
$_POST['zusatzleistung'] as $value)
{
$aktivc=array();
            
        
array_push($aktivc$value);

    
    if (
in_array($value$zlidp)) {
        
        }
    else  {
        
$eintrag="DELETE FROM gast_leistungen WHERE ".in_array($value$zlidp)." NOT IN ".(in_array($value$aktivc))."";
mysql_query($eintrag) or die (mysql_error());
            
$eintrag2="INSERT INTO gast_leistungen(ZLID, GID)
VALUES ('"
.$value."', '".$gid."')";
mysql_query($eintrag2) or die (mysql_error());

probiert aber es funktioniert immer noch nicht, das die Daten aus der Datenbank gelöscht werden.
Könnt mir jemand weiterhelfen wie nikosch das genau meint? Irgendwie bekomme ich das leider nicht hin.

Mit frendlichen Grüßen

Falki14
Falki14 ist offline   Mit Zitat antworten
Alt 13.01.2012, 14:40  
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

in_array erzeugt einen Bool-Wert. Darüber solltest Du noch einmal nachdenken.
__________________
--
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 13.01.2012, 14:46  
meikel
Gast
 
Beiträge: n/a
Standard

Wenn ich ehrlich sein soll: ich raff immer noch nicht das Konzept/den Algorithmus, was Du Dir da ausgedacht hast. Und das verstehe ich auch nicht:
PHP-Code:
$eintrag="DELETE FROM gast_leistungen WHERE ".in_array($value$zlidp)." NOT IN ".(in_array($value$aktivc)).""
in_array() gibt true oder false zurück. Würde bedeuten:
Code:
DELETE FROM gast_leistungen WHERE true NOT IN false
Wäre ich mysql, ich würde fürchterlich jammern.
  Mit Zitat antworten
Alt 14.01.2012, 11:26  
Neuer Benutzer
 
Registriert seit: 07.01.2012
Beiträge: 10
PHP-Kenntnisse:
Anfänger
Falki14 befindet sich auf einem aufstrebenden Ast
Standard

Also ich hebt jetzt gelesen, dass delete from dB ... Not in ... Nur geht wenn 2 Tabellen mit ein ander vergleichen werden. Jedoch habe ich nur 1 Tabelle die Gast_leistungen wo die Checkboxes mit dem fremdschlüssel ZLID von Leistungen und GID von Gast drinstehen. Und jetzt soll eben verglichen werden ob die vorherige Checkboxes noch checkend ist oder nicht wenn nicht dann soll sie gelöscht werden und wenn aktiv dann eben nicht. War die Checkboxes jedoch noch nie eingetragen und ist jetzt aktiv soll sie eingetragen werden. Das Einträgen funktioniert nur jedoch das löschen noch nicht. Hoffe ihr versteht mein Problem jetzt besser.

Mit freundlichen Grüßen

Falki14
Falki14 ist offline   Mit Zitat antworten
Alt 14.01.2012, 16:00  
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

Junge, DU nimmst doch jetzt nicht meine SKizze oben wörtlich, oder was?
__________________
--
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 14.01.2012, 18:54  
Neuer Benutzer
 
Registriert seit: 07.01.2012
Beiträge: 10
PHP-Kenntnisse:
Anfänger
Falki14 befindet sich auf einem aufstrebenden Ast
Standard

Nein natürlich nicht.
Falki14 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
Hilfe: datenbank mappen und kopieren M*I*B Datenbanken 29 15.02.2012 21:55
Datenbank austauschbar machen durch Trennung von konkreter Implementierung Asipak PHP-Fortgeschrittene 10 04.09.2009 00:11
[Erledigt] Im- / Export einer MySQL Datenbank amaier161 Datenbanken 5 19.07.2009 00:42
Passwörter in Datenbank abspeichern? Topblocker PHP Tipps 2009 12 07.07.2009 21:58
Datenbank editieren axes PHP Tipps 2009 20 13.04.2009 18:31
Mehrere Anwendungen eine Datenbank... Datenbanken 5 15.08.2005 11:22
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:33
[Erledigt] mysql datenbank anlegen...aber WIE??? PHP Tipps 2005-2 0 05.08.2005 19:33
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
Auslesen von Daten aus einer mysql Datenbank + Editieren vampsoftchef PHP Tipps 2004-2 5 15.11.2004 08:31
Dateiupload und Link in Datenbank abspeichern PHP Tipps 2004 1 15.10.2004 13:17

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
gute tag liebe php community, ich habe folgendes problem, ich möchte jetzt die ausgelsenen checkboxes die bereits in der datenbank sind und auch erfolgreich makiert ausgegeben wurden verändern können und dann wieder in die datenbank schreiben können., php checkbox checked, php checkbox database

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