php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.10.2004, 11:49  
Erfahrener Benutzer
 
Registriert seit: 01.09.2004
Beiträge: 140
Paulo
Standard Freigeben / Löschen Funktion - msgId unterscheiden?

Hab folgenden Output:

PHP-Code:
echo("
<table border=0 bordercolor=#C1BCFF style=table-layout:fixed>
<tr>
<td>
.$line"
</td>
<td>
<div align=right style=width:90px; overflow: hidden>"
.$la."</div>
</td>
</tr>
</table>
<table border=0 bordercolor=#C1BCFF>
<tr>
<td><img src=top.jpg></td>
<td>Freigeben</td>
<td>Löschen</td>
</tr>
<tr>
<td bgcolor=#242438><div style=width:790px; overflow: hidden>"
nl2br($msgTxt) ."</div></td>
<td bgcolor=#242438><center><input type=checkbox value="
.$msgId." name=Freigeben[]></center></td>
<td bgcolor=#242438><center><input type=checkbox value="
.$msgId." name=Löschen[]></center></td>
</tr>
<tr>
<td><img src=foot.jpg></td>
</tr>
</table>

"
);
    }

Nun bekomm ich z.B. 4 Kommentare aufgelistet mit den jeweiligen Checkboxes. Jetzt klick ich mich durch so dass 3 freigeben sind und ein Kommentar soll gelöscht werden.

admin.php:
PHP-Code:
<?
$accepted 
'0';
    
    
mysql_connect($host$user$pw) or die ('Could not fetch data: '.mysql_error());         // Let's roll
    
mysql_select_db($db);
    
if (isset(
$_POST['Freigeben']))

    echo 
count($_POST['Freigeben']) . ' Beiträge wurden freigeben:

'
;
    foreach (
$_POST['Freigeben'] as $value)
    {
        echo 
'MsgId:'$value ' freigeben
'
;

    
$sql "SELECT com_id, name, email, txt, artikel, datum, pending FROM kommentare WHERE pending='$msgId'";  // setting up
    
$query=mysql_query($sql) or die(mysql_error().'
'
);     //run the query
    
    
$sqla "UPDATE kommentare SET pending='$accepted'"
    
$query=mysql_query($sqla) or die(mysql_error().'
'
);
    } 


echo 
"

"
;

if (isset(
$_POST['Löschen']))

    echo 
count($_POST['Löschen']) . ' Beiträge wurden gelöscht:

'
;
    foreach (
$_POST['Löschen'] as $value)
    {
        echo 
'MsgId:' $value ' gelöscht
'
;
    } 

?>
(Löschen ist noch nicht fertig)
Leider werden nun automatisch alle Beiträge freigegeben. Wie kann ich nur die MsgIds löschen die von der Checkbox Freigeben[] kommen?

Danke!
Paulo ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 28.10.2004, 12:01  
Gast
 
Beiträge: n/a
Standard

verstehe dein Problem nicht ganz... kannst du es bissel besser/näher beschreiben.

außerdem verstehe ich nicht warum du ein select ausführst, und Update hat kein where und kein limit... allso wird alles freigegeben^^
 
Alt 28.10.2004, 12:11  
Erfahrener Benutzer
 
Registriert seit: 01.09.2004
Beiträge: 140
Paulo
Standard

Zitat:
Zitat von Paine
verstehe dein Problem nicht ganz... kannst du es bissel besser/näher beschreiben.

außerdem verstehe ich nicht warum du ein select ausführst, und Update hat kein where und kein limit... allso wird alles freigegeben^^
Ar yep das WHERE bei update hab ich vergessen, das macht natürlich alles einfacher:

PHP-Code:
$accepted '0';
$frei $_POST['Freigeben'];
echo 
$frei;
    
    
mysql_connect($host$user$pw) or die ('Could not fetch data: '.mysql_error());         // Let's roll
    
mysql_select_db($db);
    
if (isset(
$_POST['Freigeben']))

    echo 
count($_POST['Freigeben']) . ' Beiträge wurden freigeben:

'
;
    foreach (
$_POST['Freigeben'] as $value)
    {
        echo 
'MsgId:'$value ' freigeben
'
;

    
$sql "SELECT com_id, name, email, txt, artikel, datum, pending FROM kommentare WHERE pending='$msgId'";  // setting up
    
$query=mysql_query($sql) or die(mysql_error().'
'
);     //run the query
    
    
$sqla "UPDATE kommentare SET pending='$accepted' WHERE pending='$frei'"
    
$query=mysql_query($sqla) or die(mysql_error().'
'
);
    } 


Jetzt hab ich nur noch ein Prob, dass $frei = $_POST['Freigeben']; ein Array ist, wie bau ich das in die Update Abfrage ein damit jedes einzelne Element des Arrays geupdated wird?

Dank dir!
Paulo ist offline  
Alt 28.10.2004, 12:19  
Gast
 
Beiträge: n/a
Standard

du verwendest die php-funktion join() in verbindung mit dem SQL-BEfehl IN
 
Alt 28.10.2004, 12:26  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?php

$accepted 
'0';

   
mysql_connect($host$user$pw)or die('Could not fetch data: '.mysql_error());
   
mysql_select_db($db);

if(isset(
$_POST['Freigeben']))
{
     echo 
count($_POST['Freigeben']) . ' Beiträge wurden freigegeben:

'
;
     foreach(
$_POST['freigeben'] as $val)
     {
           echo 
'MsgId:'$val .' freigegeben
'
;
            
            
$sql "UPDATE kommentare SET pending ='$accepted' WHERE pending='$val' LIMIT 1"
            
// woher kommt $accepted?, und ich denke es soll nach den msgIDs freigeschaltet werden
            
$query mysql_query($sql)or die(mysql_error().'
'
.$sql);
      }
}

?>
also das wäre mein ansatz.
wobei ich bei den kommentaren von haus aus die spalte show und msgId hätte.
show Y oder N .. dann würde mein query so aussehen:
$sql ="UPDATE kommentare SET show = 'Y' WHERE msgId = '$val' LIMIT 1";
 
Alt 28.10.2004, 12:41  
Erfahrener Benutzer
 
Registriert seit: 01.09.2004
Beiträge: 140
Paulo
Standard

Danke an euch beide, funktioniert jetzt!
Paulo 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
JS: Einführung - Javascript im Schichtenmodell nikosch Tutorials 4 11.04.2009 17:06
PHP-GTK Tutorial Beitragsarchiv 9 02.11.2005 21:07
Rückgabewert einer rekrusiven Funktion PHP-Fortgeschrittene 7 06.10.2005 18:44
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
Funktion in einer Funktion aufrufen? PHP Tipps 2005-2 11 14.06.2005 15:14
[Erledigt] Wie kann ich beliebig viele Werte an eine Funktion übergeben PHP Tipps 2005 11 25.01.2005 10:44

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
msgid, php function löschen, php function freigeben, $_post freigeben, php funktionen freigeben löschen, alle php funktionen freigeben, array $_post \einzelne elemente auslesen\, php funktion freigeben, funkton löschen php

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