ebiz-webhosting
- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


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! Post your PHP questions here!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 14-08-2001, 12:48
Amun
 Newbie
Links : Onlinestatus : Amun ist offline
Registriert seit: Aug 2001
Beiträge: 13
Amun ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hallo leute... ich habe folgende 2 scripte... das erste zeigt alle hostnamen aus einer datenbank in einer selectbox zur auswahl an.. das geht... dann mit dem zeiten script soll der ausgewählte eintrag gelöscht werden.... das problem ist egal wieviele einträge in der tabelle sind er löscht alle werte aus der tabelle... ist das ein array problem oder sowas ??? wenn ja wäre ich für eine lösung sehr dankbar....
-------1--------
<?
mysql_connect("localhost","root","");
mysql_select_db("serverlist");
$result = mysql_query("select host from liste");
echo "<html>";
echo "<body>";
echo "<form method=post action=hostdel.php>";
echo '<select name="host">'; //Liegt hier der Fehler ???
while (list ($name) = mysql_fetch_row ($result))
{
echo "<option>$name</option>"; //Oder hier ???
}
echo "</select>";
echo "<input type=submit value='Host löschen'>";
mysql_close();
echo "</form>";
echo "</body>";
echo "</html>";
?>

----------2--------
<?
mysql_connect("localhost","root","");
mysql_select_db("serverlist");

$entfernen = "host"; /* der Name, von dem alle Daten gelöscht werden sollen */
$result=MYSQL_QUERY("DELETE FROM liste WHERE host = $entfernen");
/* Status über Löschen anzeigen */
if ($result)
{
echo "Eintrag wurde gelöscht<br>";
}
else
{
echo "Eintrag wurde NICHT gelöscht<br>";
}
MYSQL_CLOSE();
?>
Mit Zitat antworten
  #2 (permalink)  
Alt 14-08-2001, 13:19
saschak
 Newbie
Links : Onlinestatus : saschak ist offline
Registriert seit: Mar 2001
Beiträge: 85
saschak ist zur Zeit noch ein unbeschriebenes Blatt
saschak eine Nachricht über ICQ schicken
Exclamation

Hallo Amun,

ich denke mal, Du solltest die scripte folgendermaßen ändern:

------ Script 1 --------------

Vor die Anfürungszeichen immer ein Backslash
echo '<select name=\"host\">';

Diese Zeilen sind schön und gut, aber Du musst der Option noch einen Wert geben:
while (list ($name) = mysql_fetch_row ($result))
{
echo "<option value=\"$name\">$name</option>"; //Oder hier ???
}

-------Script 2 -------------

Diese Zeile entfernst Du mal ganz:
$entfernen = "host"; /* der Name, von dem alle Daten gelöscht werden sollen */

Hier schreibst Du host = '$host' - in ein Anführungszeichen!
$result=MYSQL_QUERY("DELETE FROM liste WHERE host = '$host'");

So müsste es eigentlich funzen!

Hoffe, ich habe Dir weitergeholfen!

Cu,
Sascha
Mit Zitat antworten
  #3 (permalink)  
Alt 14-08-2001, 14:01
Amun
 Newbie
Links : Onlinestatus : Amun ist offline
Registriert seit: Aug 2001
Beiträge: 13
Amun ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hi sascha.. erstmal danke... hab das abgeändert geht aber nicht...

Hier schreibst Du host = '$host' - in ein Anführungszeichen!
--->>> hier bringt er parse error...
--->>> da stimmt was mit den gänsefüsschen nicht...

hab schon so ziemlich alles probiert.... hmm...
Mit Zitat antworten
  #4 (permalink)  
Alt 14-08-2001, 14:54
saschak
 Newbie
Links : Onlinestatus : saschak ist offline
Registriert seit: Mar 2001
Beiträge: 85
saschak ist zur Zeit noch ein unbeschriebenes Blatt
saschak eine Nachricht über ICQ schicken
Standard

Normalerweise muss der Wert aber in ein Gänsefüsschen geschrieben werden - verstehe ich gar nicht - im Moment stehe ich da auf dem Schlauch!

Muss nochmal grübeln...... ;-(
Mit Zitat antworten
  #5 (permalink)  
Alt 14-08-2001, 23:16
Titus
 PHP Master
Links : Onlinestatus : Titus ist offline
Registriert seit: Jan 2001
Ort: im Rodgau
Beiträge: 4.292
Titus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Vor die Anfürungszeichen immer ein Backslash
echo '<select name=\"host\">';

Diese Zeilen sind schön und gut, aber Du musst der Option noch einen Wert geben:
while (list ($name) = mysql_fetch_row ($result))
{
echo "<option value=\"$name\">$name</option>"; //Oder hier ???
}
Sorry Sascha, aber das ist zu mindestens einem Viertel Schwachfug.
Der erste String steht in Hochkommata, in diesen muß nur weiteren Hochkommata ein Backslash vorangestellt werden; Gänsefüße funktionieren hier auch ohne.
Gänsefüße in Gänsefüße-Strings (in der vorletzten Zeile) ist korrekt.

Das Problem liegt tatsächlich in der Query; wenn host kein numerischer Wert ist, MUSS er in Hochkommata, so wie Sasche es geschrieben hat; die gesamte Query in Gänsefüße.
Den Parse Error kann ich mir aber auch nicht erklären.

last but not least:

Zitat:
aus dem ersten Post:
$entfernen = "host"; /* der Name, von dem alle Daten gelöscht werden sollen */
$result=MYSQL_QUERY("DELETE FROM liste WHERE host = $entfernen");
In der ersten Zeile fehlt ein $, dadurch wird $entfernen nicht mit dem Wert von $host besetzt sondern mit dem String 'host'. Durch die fehlenden Hochkommata in der Query bekommt mySQL die folgende Aufgabe:
DELETE FROM liste WHERE host = host
und die Where-Bedingung trifft jawohl auf jeden Eintrag zu.

Also, $entfernen = $host; und WHERE host = '$entfernen' und alles ist in Butter - wenn auch nicht sehr elegant.
Mit Zitat antworten
Antwort

Lesezeichen


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

Themen-Optionen
Thema bewerten
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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

EM 2012 Tipp-Spiel ansehen EM 2012 Tipp-Spiel

Online Tipp-Spiel zur Fussball Europameisterschaft 2012, basierend auf php-Script mit hinterlegter mySql-Datenbank

27.05.2012 tippimnetz | Kategorie: PHP/ Spiele
Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:36 Uhr.