PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |
|

16-03-2005, 16:51
|
launebaer
Member
|
|
Registriert seit: Sep 2004
Beiträge: 183
|
|
löschen per checkbox
Hallo zusammen
ich möchte gern mehrere Einträge glöeichzeitig löschen wenn die checkbox angeklickt wurde ! Kann mir wer sagen wo mein Fehler hier im script ist ?
Er löscht keinen einzigen Eintag
PHP-Code:
<?
require("connect.inc.php");
$abfrage = "SELECT * FROM Suche";
?>
<form method="post" action="">
<table width="600" border="1" align="center">
<tr>
<td align="center">Strasse</td>
<td align="center">Check</td>
</tr>
<?
$result = mysql_query($abfrage);
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td align=center>".$row["Strasse"]."</td>";
echo "<td align=center><input type=checkbox name=check value=".$row['$id']."></td>";
echo "</tr>";
}
?>
<tr>
<td align=center colspan=5><input type="submit" name="Delete" Value="löschen"></td>
</tr>
</form>
<?
$Del = $_POST['check'];
$updatedel = "DELETE FROM Suche WHERE id='$Del' ";
if (isset($_POST['Delete']))
{
$update = mysql_query($updatedel);
}
?>
</table>
mfg launebaer
|

16-03-2005, 16:52
|
penizillin
PHP Guru
|
|
Registriert seit: Feb 2004
Beiträge: 10.166
|
|
nein. aber kannst du sagen, warum du denkst, dass da ein fehler drin ist?
|

16-03-2005, 16:53
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 25.236
|
|
Re: löschen per checkbox
*seufz*
zeig uns bitte wenigstens die grundzüge deines debuggings ...
testausgaben, überprüfung übergebener werte, generierte query, mysql_error(), ...
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

16-03-2005, 16:57
|
launebaer
Member
|
|
Registriert seit: Sep 2004
Beiträge: 183
|
|
habe soeben mal
echo $updatedel;
gemacht und festgestellt das er den " id " gar nicht nimmt
also als ausgabe kommt :
DELETE FROM Suche WHERE id=''
also hat es was mit der Zeile :
$Del = $_POST['check'];
zu tun , aber ich weiss nicht was
|

16-03-2005, 17:04
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
zu Debugging ggehört auch, dass du dir deinen HTML-Quelltext mal anschaust.
Ich wette mit dir um alles was du jemals nicht besitzen wirst, dass bereits da im value-Attribut der Checkbox(en) nichts steht...
Warum findest du aber bestimmt alleine raus
Dass du so nicht mehrere Datensätze auf einmal löschen kannst, weißt du?
Dass es irgendwie blöd ist, erst die Daten auszugeben und dann ein paar dieser Daten zu löschen (wenn es denn mal klappt), weißt du auch?
Dass du mir vermutlich den Sinn der Variablen $Del nicht erklären kannst, weißt du auch?
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

16-03-2005, 17:08
|
launebaer
Member
|
|
Registriert seit: Sep 2004
Beiträge: 183
|
|
Ja du hast in den meisten Punkten Recht !
Da ich es aber alleine nicht hinbekomme hab ich eben mal hier gefragt !
Nagut ich werd mal weiter suchen vielleicht find ich irgentwo was , wie ich es lösen kann !
Danke aber für die Antworten , die mir zeigen das ich ne menge lernen muss !
Mfg launebaer
|

16-03-2005, 17:25
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
Zitat:
Original geschrieben von launebaer
Ja du hast in den meisten Punkten Recht !
|
In welchem nicht?
Zitat:
Da ich es aber alleine nicht hinbekomme hab ich eben mal hier gefragt !
|
Da sagt ja auchniemand was dagegen
Zitat:
Nagut ich werd mal weiter suchen vielleicht find ich irgentwo was , wie ich es lösen kann !
|
Überleg dir mal, warum die ID nicht im HTML-Quelltext steht und schau dir genau an, was du da ausgibst, wo du die ID ausgeben willst
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

16-03-2005, 21:33
|
kasIQ
Registrierter Benutzer
|
|
Registriert seit: Mar 2005
Beiträge: 148
|
|
hi,
also mit radiobuttons würde es funzen...willst aber bestimmt lieber checkboxen oder?
|

16-03-2005, 23:32
|
xManUx
Registrierter Benutzer
|
|
Registriert seit: Feb 2004
Beiträge: 833
|
|
HTML:
name="box[]"
PHP:
foreach() oder implode()
SQL:
WHERE IN()
PS: $row['$id'] sowas kannst knicken...
QUELLEN:
www.mysql.com
www.schattenbaum.net
www.php-resource.de/forum/search.php
__________________
Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
sondern mit den Augen das Manual zu lesen.
|

17-03-2005, 12:58
|
launebaer
Member
|
|
Registriert seit: Sep 2004
Beiträge: 183
|
|
Stimmt :
$row['$id'];
konnte ich knicken
aber so :
$row['id'];
kann ich schon mal ein Eintrag löschen !
Kann mir wer sagen ob mein Prinzip schon richtig ist oder muss ich komplett umdenken ?
Danke für die Hilfe
|

18-03-2005, 01:58
|
xManUx
Registrierter Benutzer
|
|
Registriert seit: Feb 2004
Beiträge: 833
|
|
du solltest <input type="checkbox" name="box[]" .... > verwenden...
und solltest mal dir mal den IN befehl in mysql anschauen und dazu im php code implode benutzten, kriegst das hin? wenn nicht dann such mal im forum..
sähe dann so aus
PHP-Code:
$query = "DELETE FROM x WHERE id IN (".implode('',$box).")";
__________________
Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
sondern mit den Augen das Manual zu lesen.
|

18-03-2005, 11:05
|
launebaer
Member
|
|
Registriert seit: Sep 2004
Beiträge: 183
|
|
Danke für den Tip
Habe beides mal geändert , bekomme aber nun einen Fehler :
Warning: implode(): Bad arguments. in /usr/virtualweb/********/html/Testordner/park/komplett_1.php on line 30
das wäre diese Zeile :
$updatedel = "DELETE FROM Suche WHERE id IN (".implode('',$box).")";
mein checkbox sieht nun so aus :
echo "<td align=center><input type=checkbox name='box[]' value='$ID'></td>";
|

18-03-2005, 11:08
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
Natürlich hast du nachgeschaut was in $box steht?
Versuche mal $_POST['box']
Und lass dir $query ausgeben
Dann merkst du auch, das du da irgendwo ein Komma vergessen hast. Liegt aber wahrscheinlich daran, dass du die Doku zu IN (in mysql) nicht gelesen hast...
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

18-03-2005, 11:12
|
launebaer
Member
|
|
Registriert seit: Sep 2004
Beiträge: 183
|
|
stimmt ein komma fehlte , aber die fehlermeldung :
Warning: implode(): Bad arguments. in /usr/virtualweb/********/html/Testordner/park/komplett_1.php on line 31
ist immer noch da !
Aber er löscht nun alle einträge die ich per checkbox anklicke ( schon mal was positives )
|

18-03-2005, 11:14
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
Zitat:
Original geschrieben von mrhappiness
Natürlich hast du nachgeschaut was in $box steht?
Versuche mal $_POST['box']
|
Was steht in $box?
Was steht in $_POST['box']?
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
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.
|
|
|
|
PHP News
|