2012-04-05 7 views
0

Ich habe die folgende Abfrage, die ich auf meiner Datenbank lief einige Daten zu entfernen:wickeln eine MySQL-Abfrage in einer PHP-Funktion und Druckergebnisse

delete subscriber, subscription from subscriber,subscription where subscription.status = 0 and subscription.snid=subscriber.snid; 

Aber ich brauche jetzt die eine PHP-Funktion zu machen, die ausgeführt wird, wenn Ich drücke eine Taste namens clean

dann drucken Sie alle subscriber Daten, die gelöscht wurde.

Nicht quesureure, wo damit anzufangen.

das ist mein html so weit:

<form id="form1" name="form1" method="post" action=""> 
Clean subscribers: 
<input type="submit" name="clean" id="clean" value="Clean" /> 
</form> 

Alle mit dieser Hilfe oder Beratung sehr geschätzt viel.

C

Antwort

1

Sind Sie nicht bemüht, keine Mühe! aber ich werde dir trotzdem antworten.

<?php 
$con = mysql_connect("serverUrl","login","password"); 
mysql_select_db("dbName", $con); 

$result = mysql_query("SELECT * FROM subscriber, subscription where subscription.status = 0 and subscription.snid=subscriber.snid;"); 

while($row = mysql_fetch_array($result)) 
    { 
    echo $row['subscriber.name']; //assuming you have a field {name} in your table 
    echo "<br />"; 
    } 
mysql_query("delete subscriber, subscription from subscriber,subscription where subscription.status = 0 and subscription.snid=subscriber.snid;"); 
?> 
+0

Danke dafür, ich habe mir Mühe gegeben und ziemlich viel gelesen. Das macht mir jetzt mehr Sinn. – Cybercampbell

+0

Wie überprüfe ich, ob '$ result' leer ist oder nicht? Wenn es leer ist, möchte ich eine Nachricht anzeigen, dass es nichts zu löschen gibt. – Cybercampbell

+0

if (! $ Result) { echo 'nichts'; } – skafandri

2

Sie auf die Schaltfläche benötigen ein Formular Handler Seite einreichen, würde der Handler Seite dann die Abfrage aus, und sammeln + die Daten auszudrucken.

Wenn Sie die Seite nicht aktualisieren möchten (oder Ihre Benutzer auf eine andere Seite umgeleitet haben), sollten Sie Ajax verwenden.

Da fängt man an.

1

Zuerst müssen Sie die Daten auswählen, die Sie löschen möchten.

Dann müssen Sie es löschen und die ausgewählten Zeilen zurückgeben.

$rows = array(); 
mysql_connect(...); 
$res = mysql_query(...select query here...); 
while($row=mysql_fetch_assoc($res)) { 
    $rows[] = $row; 
} 
$res = mysql_query(...delete query here...); 
return $rows; 
1

Sie möchten den Abonnenten möglicherweise nicht vollständig löschen. Wenn ich Sie wäre, würde ich ein Feld mit dem Namen "gelöscht" oder etwas in dieser Richtung hinzufügen, das angibt, ob der Abonnent gelöscht wurde oder nicht. Dann Abfrage abhängig davon, ob dieses Feld wahr oder falsch ist.

+0

Auf diese Weise müssen Sie sich nicht auf eine Löschung verlassen, die die Information zurückgibt, die Sie suchen. * Shrugs * Ich finde es eine sehr sichere Methode, Daten nicht wirklich zu löschen, sondern nur als "gelöscht" zu markieren. Sie wissen nie, wann Sie diese Informationen erneut benötigen. –

+1

Danke Thomas, ich denke mehr darüber nach. – Cybercampbell

Verwandte Themen