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 ::

Das Zend Framework

Das Zend Framework 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 > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 10.12.2007, 21:04:55
ksticker ksticker ist offline
Member
 
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 35
Beiträge: 596
ksticker eine Nachricht über ICQ schicken
Mehre Datensätze aus SQL-DB löschen

Hy, ich habe für meine User ein Nachrichtensystem, nun soll ja auch jeder User seine Nachrichten löschen können. Das löschen funktioniert soweit aber, ich kann zur Zeit immer nur eine Nachricht löschen, ich habe zwar schon eine Idee wie ich mehere Nachrichten löschen kann aber bekomme es einfach nicht realisiert.

Ich wollte das Problem mit eine While-Schleife lösen, hier das Script

PHP-Code:
<?php session_start(); ?> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<script type="text/javascript">
function oeffneprofil (url) {
 fenster = window.open(url, "fenster2", "width=510,height=220,status=no,scrollbars=no,resizable=no");
 fenster.focus();
}
</script>
<?php 

                    
/* Zugriff auf SQL-Server */ 
                      
$server"";   /* Adresse des 1&1 Datenbankservers */ 
                      
$user"";              /* Datenbank-Benutzername */ 
                      
$passwort"";         /* Passwort */ 
                      
$datenbank"";       /* Name der Datenbank */ 
                      
$tabelle"";         /* Name der Tabelle, kann frei gewaehlt werden */ 

$mysql mysql_connect($server$user$passwort) or die ("<H3>Datenbankserver nicht erreichbar</H3>"); 
mysql_select_db($datenbank$mysql) or die ( "<H3>Datenbank nicht vorhanden</H3>"); 

    

if ( !isset(
$_SESSION['EUser']) || empty($_SESSION['EUser']) ) { 
    die(
'<h1>EUser nicht vorhanden</h1>'); 


?>
<?php
$ID 
=     $_POST['chkbox'];
if(!
$_POST['aktion'] || $_POST['aktion'] == "Löschen") {


while (
$ID != "") { 
$query =MYSQL_QUERY"DELETE FROM Messages WHERE NachNummer = '$ID'")  or die('Die Kontoabfrage an unserem Server ist fehlgeschlagen');
if (
$ID == ""
break;
}
}elseif(!
$_POST['aktion'] || $_POST['aktion'] == "Lesen")  {
}elseif(!
$_POST['aktion'] || $_POST['aktion'] == "Antworten") {    
}elseif(!
$_POST['aktion'] || $_POST['aktion'] == "Postfach neu laden") {}                            
?>    
<html> 
    <head> 
        <title>Nachrichtencenter</title> 
        <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> 
        <meta name="description" content="Benutzerprofile ändern"> 
    </head> 
    <body> 
        <form action="?" method="post"> 

<table border="0" width="480" height="650" style="background-image:url(Images/Backmes.gif)">
    <tr>
        <th valign="top">
            <table border="0" width="480" height="75">
                <tr>
                    <th><br></th>
                </tr>
            </table>
        
                <?php 
                
echo '<table border="0" cellspacing="2" width="480" height="25" style="background-image:url(Images/Message.gif)">';
                echo 
'<tr>';
                echo 
'    <th><br></th>';
                echo 
'    <th>Nr.:</th>';                    
                echo 
'<th>Sender</th>';        
                echo 
'     <th>Betreff</th>';
                echo 
'    <th>Datum /Zeit</th>';
                echo 
'</tr>';
                
                
                
$result=MYSQL_QUERY"SELECT * FROM Messages WHERE Empfaenger= '".$_SESSION['EUser']."'");  
                if (
mysql_num_rows($result) == "") {
                echo 
'<h3><font color="#FFFFFF">Es befinden sich keine Nachrichten in Deinem Postfach!</h3>';
                }
                
                if(
mysql_num_rows($result)) {
                                    while(
$row mysql_fetch_assoc($result)) {
                                
$i $i 1;

                echo 
'<tr height="23">';
                echo 
'    <th><input type="checkbox" name="chkbox" value="'.$row['NachNummer'].'"></th>';
                echo 
'    <th>'.$i.'</th>';                    
                echo 
'    <th>'.$row['Sender'].'</th>';        
                echo 
'    <th><a href="readmessage.php?Msg='.$row['NachNummer'].'" target="_blank" onclick="oeffneprofil(this.href); return false">'.$row['Betreff'].'</a><br></th>';
                echo 
'    <th>'.$row['DateTime'].'</th>';
                echo 
'</tr>';
                }
                }
                
?>
            </table>
            <?php
?>
<input type="submit" name="aktion" value="Löschen"> 
<input type="submit" name="aktion" value="Antworten"> 
<input type="submit" name="aktion" value="Postfach neu laden"> 
        </th>
    </tr>
</table>

</form>

</body>


</html>
Mit Zitat antworten
  #2  
Alt 10.12.2007, 21:30:33
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Mehre Datensätze aus SQL-DB löschen

Zitat:
Zitat von ksticker Beitrag anzeigen
Hy, ich habe für meine User ein Nachrichtensystem, nun soll ja auch jeder User seine Nachrichten löschen können. Das löschen funktioniert soweit aber, ich kann zur Zeit immer nur eine Nachricht löschen, ich habe zwar schon eine Idee wie ich mehere Nachrichten löschen kann aber bekomme es einfach nicht realisiert.

Ich wollte das Problem mit eine While-Schleife lösen, hier das Script
Mal ohne Dein Script näher betrachtet zu haben (benötige sonst einen Termin bei meinem Augenarzt) mein Vorschlag:

1. Zeige alle Dtaensätze (Nachrichten) an
2. lasse den Nutzer auswählen welche Datensätze er Löschen möchte (Checkbox)
3. und mit nur einer Querry puste die Sätze aus der Datenbank

PHP-Code:
$sqlString " DELETE FROM `test` WHERE `f1` = 2 LIMIT 1;
               DELETE FROM `test` WHERE `f1` = 3 LIMIT 1;
               DELETE FROM `test` WHERE `f1` = 4 LIMIT 1;"

fertig
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3  
Alt 10.12.2007, 21:33:50
ksticker ksticker ist offline
Member
 
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 35
Beiträge: 596
ksticker eine Nachricht über ICQ schicken
AW: Mehre Datensätze aus SQL-DB löschen

meinst das das so geht, da ja die anzahl der datensätze immer unterschiedlich ist

EDIT: AchJa Punkt 1, 2 hab ich schon

Geändert von ksticker (10.12.2007 um 21:34:25 Uhr)
Mit Zitat antworten
  #4  
Alt 10.12.2007, 21:38:17
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Mehre Datensätze aus SQL-DB löschen

Zitat:
Zitat von ksticker Beitrag anzeigen
meinst das das so geht, da ja die anzahl der datensätze immer unterschiedlich ist
Was spielt das für eine Rolle? Du bastelst Dir den SQL-String nach der Anzahl der zu löschenden Sätze zusammen - Probleme? Dann her damit.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #5  
Alt 10.12.2007, 21:39:44
ksticker ksticker ist offline
Member
 
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 35
Beiträge: 596
ksticker eine Nachricht über ICQ schicken
AW: Mehre Datensätze aus SQL-DB löschen

ok, ich probiers
Mit Zitat antworten
  #6  
Alt 10.12.2007, 21:42:18
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Mehre Datensätze aus SQL-DB löschen

Zitat:
Zitat von ksticker Beitrag anzeigen
ok, ich probiers

Prima und bringe bei der Gelegenheit gleich mal Deinen Code auf Vordermann ;-)
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #7  
Alt 10.12.2007, 21:51:37
ksticker ksticker ist offline
Member
 
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 35
Beiträge: 596
ksticker eine Nachricht über ICQ schicken
AW: Mehre Datensätze aus SQL-DB löschen

So habe nun so das Script
PHP-Code:
$query =MYSQL_QUERY"DELETE FROM Messages WHERE NachNummer  = '$ID' LIMIT 1;")  or die('Die Kontoabfrage an unserem Server ist fehlgeschlagen'); 
es wird aber immernoch nur ein DS gelöscht, wie hänge ich wie bei Dir oben beschrieben
mehere Query's hintereinander?
Mit Zitat antworten
  #8  
Alt 12.12.2007, 17:38:25
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Mehre Datensätze aus SQL-DB löschen

Zitat:
Zitat von ksticker Beitrag anzeigen
...

es wird aber immernoch nur ein DS gelöscht, wie hänge ich wie bei Dir oben beschrieben
mehere Query's hintereinander?
PHP-Code:
for($i=0;$i <Anzahl(Datensätze) ;$i++)
{ ... } 
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #9  
Alt 12.12.2007, 19:54:03
ksticker ksticker ist offline
Member
 
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 35
Beiträge: 596
ksticker eine Nachricht über ICQ schicken
AW: Mehre Datensätze aus SQL-DB löschen

Wenn ich das richtig sehe müssen bei diesem Script mind. 5 Datensätz gelöscht werden, oder?
PHP-Code:
while ($del 5) {
$del $del 1;
$query =MYSQL_QUERY"DELETE FROM Messages WHERE NachNummer  = '$ID' LIMIT 1;")  or die('Die Kontoabfrage an unserem Server ist fehlgeschlagen');

Es wird aber nur eine gelöscht :-(

Geändert von ksticker (12.12.2007 um 19:54:41 Uhr)
Mit Zitat antworten
  #10  
Alt 12.12.2007, 20:28:56
lukgestach lukgestach ist offline
Junior Member
 
Registriert seit: Feb 2007
Ort: Safnern, CH
Alter: 32
Beiträge: 255
AW: Mehre Datensätze aus SQL-DB löschen

Hallo Ich habe auf meiner Webseite etwas ähnliches! Ich habe s so gemacht!

Die Nachrichten werden mit einer Checkbox ausgewählt und dann kommt folgender Code:
PHP-Code:
$sql "SELECT * FROM test";
$res mysql_query($sql);
while(
$dsatz mysql_fetch_assoc($res))
{
    if(isset(
$_POST["löschen"][$dsatz["id"]]))
    {
       
$id $dsatz["id"];
       
$mysql "DELETE FROM `test` WHERE `test`. `id` = '$id' LIMIT 1";
       
mysql_query($mysql); 
     }

das Formular würde dann so aussehen:
PHP-Code:
<?php
$sqlab 
'SELECT * FROM test';
            
$res mysql_query($sqlab);
            
?>
            <form action="test.php" method="post" name="gesendet">
            <?php
            
echo "<table border='0' align='center' style='border-collapse:collapse'>";
            echo 
"<tr><td align='center'><b>Löschen</b></td><td align='cneter'><b>Nachricht</b></td><td align='center'><b>Datum</b></td>";
            echo 
"<td align='center'><b>Zustand</b></td><td align='center'><b>Einfügen</b></td></tr>";
            while(
$dsatz mysql_fetch_assoc($res))
            {
                echo 
"<tr><td align='right'><input type='checkbox' name='löschen[" $dsatz["id"] . "]'></td>";
                echo 
"<td><input type='text' name='nachricht[" $dsatz["id"] . "]' size='60' value='" $dsatz["text"] . "'</td></tr>";
            }
?>
</table>
</form>
Das Funktioniert bei mir!

mfg Lukas

Geändert von lukgestach (05.03.2008 um 22:59:44 Uhr) Grund: Tabellennamen war falsch
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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
mehrere Datensätze löschen (Checkboxen) timo88 PHP für Fortgeschrittene und Experten 1 10.09.2006 14:17:20
Datensätze mit leeren Feldern löschen Pixelschubser MySQLi/PDO/(MySQL) 1 30.05.2005 13:02:49
Datensätze älter als 24h löschen Beedle MySQLi/PDO/(MySQL) 3 16.10.2004 09:48:17
Bestimmte Datensätze löschen Small-Talk MySQLi/PDO/(MySQL) 3 08.06.2004 14:17:46
Leere Datensätze im Array löschen A.Bauer PHP für Fortgeschrittene und Experten 8 29.09.2002 21:21:01


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:31:22 Uhr.


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


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