php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.04.2005, 13:19  
Erfahrener Benutzer
 
Registriert seit: 16.08.2004
Beiträge: 145
DDogg
Standard Einzelne Spalte aus DB löschen

ich mal wieder ...

Bin echt am verzweifeln. Die schweren Dinge grieg ich hin und die einfachen Dinger die man überall nachlesen kann funzen nich ...

Mein Problem: Ich möchte eine einzelne Spalte aus einer DB löschen. Dazu wählt der User in einem Formular einen Datensatz aus und klickt auf absenden.

Mein Formular:

Code:
<table border=0 cellpadding=0 cellspacing=0>
<tr>
<td>[img]Bilder/clpx.gif[/img]</td>
<td>[img]Bilder/clpx.gif[/img]</td>
</tr>
<tr>
<td></td>
<td class="weiss">[img]Bilder/main_01.gif[/img]</td>
<td class="Weiss"></td>
<td class="weiss">[img]Bilder/main_03.gif[/img]</td>
</tr>
<tr>
<td></td>
<td class="weiss"></td>
<td class="weiss">
<table >
<tr>
 <td>[img]Bilder/Abstandhalter.gif[/img] </td>
 <td>

<form action="userkickgo.php" method="post">User löschen





Wählen Sie den User aus, der gelöscht werden soll.

VORSICHT: Der User wird sofort nach klicken gelöscht




<table >
<tr>
 <td align="center" bgcolor="#EFEFEF" width="30">ID </td>
 <td align="center" bgcolor="#CFCFCF" width="100">Username</td>
 <td align="center" bgcolor="#EFEFEF" width="100">Passwort</td>
 <td align="center" bgcolor="#CFCFCF" width="50">Level</td>
  <td align="center" bgcolor="#EFEFEF" width="50"></td>
</tr>

<?

  $sql = "select ID, name, pass, level from stgeorg_adminzone";

  $res = send_sql($sql);
  $anzahl=mysql_numrows($res);
    if ($anzahl)
        {
  for ($z=0;$z<$anzahl;$z++)
   {
      $ID=mysql_result($res, $z, ID);
      $username=mysql_result($res, $z, name);
      $pass=mysql_result($res, $z, pass);
      $level=mysql_result($res, $z, level);

echo "<tr><td align=\"center\" bgcolor=\"#EFEFEF\" width=\"30\"><input type=\"Text\" name=\"$ID\" value=\"$ID\" size=\"2\" maxlength=\"\"></td>  <td align=\"center\" bgcolor=\"#CFCFCF\" width=\"100\"><input type=\"Text\" name=\"$username\" value=\"$username\" size=\"10\" maxlength=\"\"></td>  <td align=\"center\" bgcolor=\"#EFEFEF\" width=\"100\"><input type=\"Text\" name=\"$pass\" value=\"$pass\" size=\"10\" maxlength=\"\"></td>  <td align=\"center\" bgcolor=\"#CFCFCF\" width=\"50\"><input type=\"Text\" name=\"$level\" value=\"$level\" size=\"2\" maxlength=\"\"></td>   <td align=\"center\" bgcolor=\"#EFEFEF\" width=\"50\"><input type=\"Submit\" name=\"Löschen\" value=\"Löschen\"></td></tr>";

}
}
?>
</table>

</form>
</td>
</tr>
</table>
</td>
<td class="weiss"></td>
</tr>
<tr>
<td></td>
<td class="weiss">[img]Bilder/main_07.gif[/img]</td>
<td>[img]Bilder/clpxw.gif[/img]</td>
<td class="weiss"> [img]Bilder/main_09.gif[/img]</td>
</tr>
</table>
(Sorry wegen dem ganzen unrelevanten HTML Code, aber nur so ist das Formular komplett ersichtlich)

Dann wird folgendes Script aufgerufen:

Code:
 <?

  include("shared.php");
  connect();

  parse_str($QUERY_STRING);

$sql = "ALTER TABLE stgeorg_kategorie DROP $username";
$res = send_sql($sql);

?>
Ich bekomme eine Fehlermeldung zurück:

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Hab alles ausprobiert was mir eingefallen is. hab einfach mal die variable $username in einem Echo ausgeben lassen. Er hat diese im Script! Dann hab ich die den sql befehkl mit ' ' anstatt " " geschrieben und auch die variable mit ' ' versehen usw ...

Warum stört ihn ein "? Versteh ich nich. Der sql befehl is doch ansich richtig ...
DDogg ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 22.04.2005, 13:24  
Erfahrener Benutzer
 
Registriert seit: 16.08.2004
Beiträge: 145
DDogg
Standard

ja ne ... beim schreiben dieses eintrages is mir aufgefallen das das script die variable $username ganich reinbekommt. Aber warum nich
DDogg ist offline  
Alt 22.04.2005, 14:08  
Erfahrener Benutzer
 
Registriert seit: 29.10.2004
Beiträge: 1.781
derHund
Standard

register globals/superglobale arrays?

du hast für jeden user eine SPALTE angelegt?

__________________
derHund ist offline  
Alt 22.04.2005, 14:14  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zeile löschen:
DELETE .... WHERE id = $id


Spalte löschen:
ALTER TABLE
http://dev.mysql.com/doc/mysql/de/alter-table.html
imported_Ben ist offline  
Alt 22.04.2005, 16:50  
Erfahrener Benutzer
 
Registriert seit: 16.08.2004
Beiträge: 145
DDogg
Standard

Is alles soweit kla. Den code den ich schreiben muss kenn ich. Weck mich nachts um 3 und ich halt dirn Vortrag über sql abfrage bzw anweisungen

Wie gesagt, meine Probleme sind die ganz kleinen ...

Warum zum Teufel bekommt mein Script die Variable nich rein?
Ich hab das selbe Formular auf 10 andren Seiten. Und die rufen wiederum 10 verschÃ*edene Scripts auf die Aktionen in der DB ausführen. Und die laufen alle einwandfrei.

Hab in meinem Formular mittlweile ein Dropdown

Code:
<form action="userkickgo.php" method="post">User löschen




<?
echo" <select name=\"subKat\" size=\"1\"><option value=\"0\"></option>";

  $sql = "select name, id from stgeorg_adminzone";

  $res = send_sql($sql);
  $anzahl=mysql_numrows($res);
    if ($anzahl)
        {
  for ($z=0;$z<$anzahl;$z++)
   {
      $ID=mysql_result($res, $z, id);
      $Name=mysql_result($res, $z, name);

      echo "<option value=\"$ID\">$Name</option>";

}
}

echo "</select>

";
?>
<input type="Submit" name="Abschicken" value="Abschicken">
</form>
So. Dann wird mein script aufgerufen:

Code:
<?

  include("shared.php");
  connect();

  parse_str($QUERY_STRING);

echo "$ID

";

?>
Einfach mal nur um zu sehen ob die Variable $ID reinkommt.

Kommt sie aber nicht. Ich sitz seit 3 stunden dadran und verzweifel. Weils eben bei den 10 anderen auf die selbe Art und weise geht

hilföö
DDogg ist offline  
Alt 22.04.2005, 16:54  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

nur ne idee, wenn ich da jetzt was von $ID seh, allerdings frage ich mcih, woher kommt $QUERY_STRING was ist das? was steht da drin? oder besser gesagt soltle drinstehen?

register_globals
http://www.phpfriend.de/ftopic26569.html
-> lesen, verstehen, umsetzen und nicht register_globals auf on stellen !!
robo47 ist offline  
Alt 22.04.2005, 16:56  
Erfahrener Benutzer
 
Registriert seit: 16.08.2004
Beiträge: 145
DDogg
Standard

Ich kotz echt in die Ecke ey ...

Jetzt da ich mich "getraut" habe dieses furzproblem zu posten, find ich die lösung selber ... Für alle die an meiner dummheit teilhaben möchten :

Mein Dropdown heisst:

<select name=\"subKat\" size=\"1\"><

Da kann ich noch zwanzigtausend mal alles umschreiben und zwanzigtausendmal die Variable ID abfragen ... Die Variable kommt im Script als subKat an.

...



Gute Nacht zusammen
DDogg ist offline  
Alt 22.04.2005, 17:27  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von robo47
$QUERY_STRING was ist das?
Es sollte $_SERVER['QUERY_STRING'] heißen.

Schau Dir mal an, was er da macht:
http://php.net/parse_str
imported_Ben 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
SQL-Befehl: Spalte innerhalb der Tabelle in andere Spalte... go1denboy Datenbanken 5 12.06.2008 19:06
Durch Spalte definieren, welche Spalte zu ändern ist. CC84 Datenbanken 5 28.11.2006 10:26
spalte rechts ausrichten, text aber trotzdem linksbündig Crypi HTML, Usability und Barrierefreiheit 5 14.09.2006 11:35
Teil einer Spalte abfragen? Peoples Datenbanken 2 20.08.2006 15:22
Spalte mit Array angleichen Zahl Datenbanken 3 16.07.2006 18:08
Werte aus gesamter Spalte zählen rotzlöffel PHP Tipps 2006 17 14.05.2006 20:28
Links aus Datenbank überprüfen und wen defekt spalte updaten PHP Tipps 2005-2 2 05.09.2005 11:34
einzelne Daten aufrufen von .csv PHP Tipps 2005-2 7 23.08.2005 08:28
doppelte Werte / Strings einer Spalte nur einmal ausgeben... Datenbanken 2 29.07.2005 12:10
Eine weitere Spalte -> weiße Seite seejay HTML, Usability und Barrierefreiheit 3 04.07.2005 08:25
Links im Text in extra Spalte? TheIfrit Datenbanken 4 01.06.2005 19:27
mysql doppelte Vorkommen einer Spalte ausblenden PHP Tipps 2005 3 23.03.2005 15:56
bestimmten string aus spalte auslesen aircrash PHP Tipps 2005 3 01.02.2005 18:07
[Erledigt] Spalte nach grösse anzeigen lassen ! Datenbanken 2 31.08.2004 22:32
Spalte anlegen und in diese Daten einfügen Anuschka PHP Tipps 2004 11 09.08.2004 00:43

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
spalte einer dtab löschen, php delete spalte wenn id, php einzelne spalte aus datenbank löschen mysql, einzelne id aus der datenbank löschen php, php eine spalte in datenbank löschen, einzelne spalte php

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