php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.09.2005, 11:25  
Gast
 
Beiträge: n/a
Standard [Erledigt] DELETE Befehl für mehrere Checkboxen

Ich habe eine Frage bezüglich Formular mit PHP und mehreren Checkboxen , die Texte aus einer Datenbank..

Ich sollte Kategorien die aus einer Datenbank kommen mittels einer Checkbox anhacken können und dann sollten diese aus der Tabelle gelöscht werden...

mein code:

PHP-Code:
<?php
<center><form name="entfernen" method="post" action'<?php echo $PHP_SELF; ?>'>
            <?
php
                    $abfrage 
"select ctc.customers_id, ctc.categories_id, cd.categories_id, cd.categories_name FROM customer_to_categories ctc,  categories_description cd  where cd.categories_id = ctc.categories_id and customers_id = $customer_id";
                    
$ergebnis mysql_query($abfrage);
                    echo 
"<table border='0'><tr><td class='main'>[b]Ihre Drucker:[/b]</td></tr>";
                    while (
$row mysql_fetch_array($ergebnis))
                        {
                        echo 
"<tr><td class='main'><input type='checkbox' name='".$row[categories_id]."' value=' echo $checkbox; '>"  $row['categories_name'] . "</td></tr>";
                        
                    }
                    echo 
"</table>
"
;
                    
            
?>
            
            <input type=hidden name=flag value=1>
            <?php echo tep_draw_input_field('abschicken''Drucker entfernen'$parameters 'class="button"''submit'); ?>
            
            </form></center>
            <?php
            $ent1 
$_REQUEST['".$row[categories_id]."'];
            
            if (
$flag==1) {                            
                            
$ent "DELETE FROM customer_to_categories WHERE categories_id = ".$ent1;
                            
$entfern mysql_query ($ent$db);
                            echo 
mysql_error();
                            while (
$zeile mysql_fetch_array($ergebnis)) {
                                echo 
"Die Datensätze" .$zeile[categories_name]. " wurden herausgelöscht!";                            
                            }
            }
            
?>
?>
Wie ermittle ich jetzt ganau diese categories_name die angehackt wurden und wie lösche ich diese wenn es mehrere sind aus der Tabelle von der Datenbank heraus??

Kann mir da irgend jemand weiterhelfen?? wäre echt nett!!

gruß
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 19.09.2005, 11:39  
Gast
 
Beiträge: n/a
Standard

Hi
Mal schaun'....

Wenn ich mich nicht täusche befindet sich in $ent1 ein Array.

Stichwort: foreach
Innerhalb dann die delete Anweisung.
Musst du noch anpassen.
  Mit Zitat antworten
Alt 19.09.2005, 11:42  
Gast
 
Beiträge: n/a
Standard

Leider kenne ich die foreach funktion so gut wie gar nicht..

könntest du mir ein bisschen auf die sprünge helfen, wie und wo ich diese einbaue und vor allem wie ich sie definiere usw...
  Mit Zitat antworten
Alt 19.09.2005, 11:47  
Gast
 
Beiträge: n/a
Standard

www.php.net/foreach

ein bisschen MUSST du schon lesen !

lass dir mit print_r($ent1); mal das Array
anzeigen. Befinden sich die gewünschten id's
aus den Checkboxen darin, dann bist du schon
auf einem guten Weg !

Wenn du gar nicht klar kommst schau ich nochmal
  Mit Zitat antworten
Alt 19.09.2005, 13:09  
Gast
 
Beiträge: n/a
Standard

Ok, ich habs mir jetzt einmal durchgelesen, mich informiert und gleich ausprobiert!!

Irgend wie geht noch gar nichts, als erstes zeigt er mir eine Fehlermeldung an:
PHP-Code:
<?php
Parse error
parse error in C:Programmexampphtdocsphposcommerceoscommerce-2.2ms2catalogprinter_ent.php on line 109

?>
Das ist mein Quelltext:
PHP-Code:
<?php
<center><form name="entfernen" method="post" action'<?php echo $PHP_SELF; ?>'
         <?
php 
               $abfrage 
"select ctc.customers_id, ctc.categories_id, cd.categories_id, cd.categories_name FROM customer_to_categories ctc,  categories_description cd  where cd.categories_id = ctc.categories_id and customers_id = $customer_id"
               
$ergebnis mysql_query($abfrage); 
               echo 
"<table border='0'><tr><td class='main'>[b]Ihre Drucker:[/b]</td></tr>"
               while (
$row mysql_fetch_array($ergebnis)) 
                  { 
                  echo 
"<tr><td class='main'><input type='checkbox' name='".$row[categories_id]."' value=' echo $checkbox; '>"  $row['categories_name'] . "</td></tr>"
                   
               } 
               echo 
"</table>
"

                
         
?> 
          
         <input type=hidden name=flag value=1> 
         <?php echo tep_draw_input_field('abschicken''Drucker entfernen'$parameters 'class="button"''submit'); ?> 
          
         </form></center> 
         <?php 
         $ent1 
$_REQUEST['".$row[categories_id]."']; 
           
         if (
$flag==1) { 
                     foreach(
$ent1) { 
                        
$ent "DELETE FROM customer_to_categories WHERE categories_id = ".$ent1
                         
$entfern mysql_query ($ent$db); 
                         echo 
mysql_error(); 
                     
print_r($ent1);    
                     } 
         } 
         
         
?> 
?>
Hab ich mit dem foreach etwas falsch gemacht, weil ich bin mir nicht ganz sicher, weil ich einiges durch probieren wieder herumgeändert habe!!
  Mit Zitat antworten
Alt 19.09.2005, 13:29  
Gast
 
Beiträge: n/a
Standard

jo fehler.
Bist du sicher das du dir die Syntax durchgelesen hast ???

Zitat:
foreach (array_expression as $value) Anweisung
foreach (array_expression as $key => $value) Anweisung
Unten auf der php.net Seite stehen sogar Beispiele.
Lesen... ...LESEN... ... WIRKLICH LESEN...

Ich weiß, aller anfang ist schwer, aber nur so LERNST du was

Mal so am Rande wenn du einen Parse Error in Zeile 109 hast,
dann währe es toll (besser zwingend erforderlich) diese Zeile
mal zu makieren. Du hast nun schon ü 40 Beiträge, da sollte
man so etwas wissen. Ist aber nicht bös gemeint.

foreach($ent1 as $hilfsvar1)
Danach benutzt du einfach $hilfsvar1 anstatt $ent1 in der Schleife.

Und $hilfsvar1 sollte in der Query dann auch innerhalb der "" stehen
wenn ich mich nicht irre.

Und mach das print_r aus der Schleife raus, da steht eh immer das
selbe drin.

So starte nochmal nen Versuch... bin gespannt
  Mit Zitat antworten
Alt 19.09.2005, 13:41  
Gast
 
Beiträge: n/a
Standard

Sorry, das war die alte (Probier)Datei, habe es selber erst jetzt mitbekommen, aber irgendwie funktioniert es ja so auch nicht...
den einen fehler on line 109 habe ich schon gefunden und ausgebessert...

mein jetziger code:

PHP-Code:
<?php
<center><form name="entfernen" method="post" action'<?php echo $PHP_SELF; ?>'
         <?
php 
               $abfrage 
"select ctc.customers_id, ctc.categories_id, cd.categories_id, cd.categories_name FROM customer_to_categories ctc,  categories_description cd  where cd.categories_id = ctc.categories_id and customers_id = $customer_id"
               
$ergebnis mysql_query($abfrage); 
               echo 
"<table border='0'><tr><td class='main'>[b]Ihre Drucker:[/b]</td></tr>"
               while (
$row mysql_fetch_array($ergebnis)) 
                  { 
                  echo 
"<tr><td class='main'><input type='checkbox' name='".$row[categories_id]."' value=' echo $checkbox; '>"  $row['categories_name'] . "</td></tr>"
                   
               } 
               echo 
"</table>
"

         
?> 
         <input type=hidden name=flag value=1> 
         <?php echo tep_draw_input_field('abschicken''Drucker entfernen'$parameters 'class="button"''submit'); ?> 
          
         </form></center> 
         <?php 
         $ent1 
$_REQUEST['".$row[categories_id]."']; 
         if (
$flag==1) {
                  while (
$a mysql_fetch_array($entfern)) {
                     foreach(
$ent1 as $entfernenvar)  { 
                        
$ent "DELETE FROM customer_to_categories WHERE categories_id = ".$entfernvar
                         
$entfern mysql_query ($ent$db); 
                         echo 
mysql_error(); 
                            
                         }
                     } 
         } 
         
?> 
?>
Ja tut mir nochmals leid, bin heut noch nicht ganz bei der Sache...
  Mit Zitat antworten
Alt 19.09.2005, 13:49  
Gast
 
Beiträge: n/a
Standard

Die while schleife ist müll. löschen.
und lese in meinem letzten post nochmal
den 3. letzten Satz.


ansonsten näherst du dich der Lösung. (vielleicht) :P
  Mit Zitat antworten
Alt 19.09.2005, 13:53  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?php
Warning
Invalid argument supplied for foreach() in C:Programmexampphtdocsphposcommerceoscommerce-2.2ms2catalogprinter_ent.php on line 106

?>
Fehlermeldung zu diesem Code:

PHP-Code:
<?php
<?php 
         $ent1 
$_REQUEST['".$row[categories_id]."']; 
         if (
$flag==1) {
                  foreach(
$ent1 as $entfernenvar)  { 
                        
$ent "DELETE FROM customer_to_categories WHERE categories_id = ".$entfernvar
                         
$entfern mysql_query ($entfernenvar$db); 
                         echo 
mysql_error(); 
                            
                         
                } 
         } 
         
?> 
?>
  Mit Zitat antworten
Alt 19.09.2005, 13:54  
Gast
 
Beiträge: n/a
Standard

line 106 is die Zeile mit dem foreach!!!
  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
[Erledigt] Max Anzahl Checkboxen Hu5eL JavaScript, Ajax und mehr 2 25.06.2008 15:37
Zustand der Checkboxen auslesen Pimbolie1979 PHP Tipps 2007 4 10.07.2007 20:39
checkboxen wizzardxx PHP Tipps 2005-2 7 16.10.2005 22:58
geziehltes löschen mit DELETE befehl LA-Finest PHP Tipps 2005-2 5 19.09.2005 14:39
Warning: filesize(): SAFE MODE Restriction in effect. nicobischof PHP Tipps 2005-2 9 17.08.2005 19:05
include Befehl! PHP Tipps 2005-2 0 05.08.2005 10:04
[Erledigt] include Befehl! PHP Tipps 2005-2 0 05.08.2005 10:01
include Befehl! PHP Tipps 2005-2 0 05.08.2005 09:59
[Erledigt] include Befehl! PHP Tipps 2005-2 0 05.08.2005 09:57
PHP system Befehl PHP-Fortgeschrittene 9 02.08.2005 14:59
[Erledigt] SQL Befehl fehlerhaft? Datenbanken 3 25.07.2005 01:29
Befehl erst nach Bestimmter Zeit ausführen? PHP Tipps 2005 21 28.02.2005 00:13
delete from Befehl ...... 'progman' PHP Tipps 2005 49 14.02.2005 08:13
Umfrage-Formular mit Checkboxen und MySQL PHP Tipps 2004-2 10 26.11.2004 18:20
Checkboxen value übergeben ?? PHP Tipps 2004 15 15.08.2004 23:17

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
tep_draw_input_field löschen, php mehrere checkboxen, mehrere checkboxen php löschen, checkboxen in schleife löschen, php delete anweisung ausführen, wie bekomme ich den befehl aus der checkbox?, beispiele für befehl del *.

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