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
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren |
10.12.2007, 21:04:55
|
Member
|
|
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 35
Beiträge: 596
|
|
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>
|
10.12.2007, 21:30:33
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Mehre Datensätze aus SQL-DB löschen
Zitat:
Zitat von ksticker
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!
|
10.12.2007, 21:33:50
|
Member
|
|
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 35
Beiträge: 596
|
|
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)
|
10.12.2007, 21:38:17
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Mehre Datensätze aus SQL-DB löschen
Zitat:
Zitat von ksticker
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!
|
10.12.2007, 21:39:44
|
Member
|
|
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 35
Beiträge: 596
|
|
AW: Mehre Datensätze aus SQL-DB löschen
ok, ich probiers
|
10.12.2007, 21:42:18
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Mehre Datensätze aus SQL-DB löschen
Zitat:
Zitat von ksticker
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!
|
10.12.2007, 21:51:37
|
Member
|
|
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 35
Beiträge: 596
|
|
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?
|
12.12.2007, 17:38:25
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Mehre Datensätze aus SQL-DB löschen
Zitat:
Zitat von ksticker
...
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!
|
12.12.2007, 19:54:03
|
Member
|
|
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 35
Beiträge: 596
|
|
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)
|
12.12.2007, 20:28:56
|
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
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 19:31:22 Uhr.
|