Problem mit explode()
Gast
- php
Hallo,
es geht um das Auslesen von MySQL Zeichenketten, die ich mit explode trenne:
Nur leider kommt immer "$element" zurück, obwohl dafür ja eigtl die Daten von MySQL übermittelt werden müssen.
Es besteht offenbar keine Verbindung zwischen dem obrigen und dem unteren Teil:
<?php
session_start();
$username = $_SESSION['username'];
?>
<?php
$user = $_GET['username'];
?>
<?php
define ( 'MYSQL_HOST', 'localhost' );
define ( 'MYSQL_BENUTZER', 'XX' );
define ( 'MYSQL_KENNWORT', 'XX' );
define ( 'MYSQL_DATENBANK', 'XX' );
$db_link = @mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT);
if ( ! $db_link )
{
die('keine Verbindung zur Zeit möglich - später probieren ');
}
$db_sel = mysql_select_db(scrapen)
or die("Auswahl der Datenbank fehlgeschlagen");
$sql = "
SELECT
*
FROM freunde
WHERE username = '$username'
ORDER BY id
";
$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysql_error());
}
$anzahl_eintraege = mysql_num_rows($db_erg);
echo "<p>Deine Freunde:<b>$anzahl_eintraege </b> </p>";
while ($daten = mysql_fetch_array( $db_erg, MYSQL_ASSOC))
{
extract($daten);
echo " $id
$username
$freund
<br>
";
}
mysql_free_result( $db_erg );
?>
<?php
$array = explode('-', $freund);
foreach ($array as $element) {
echo '$element<br>';
}
?>
Wäre nett, wenn mir da jmd auf die Sprünge helfen könnte, wo mein Fehler liegt. (Das obere echo lasse ich natürlich später weg)
Viele Grüße
Moin!
echo '$element<br>';
Du wolltest wie folgt notieren:
echo "$element<br>";
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix
Danke, was für ein blöder Fehler ...
Nun eine andere Frage:
Ich möchte überprüfen, ob ein sich ein bestimmter Name in der Zeichenkette befindet - wie stelle ich das denn nun an?
Bei einem einzelnen Eintrag in der Datenbank wäre das ja einfach - aber so kann ich jetzt hier ja nicht vorgehen, oder?
Viele Grüße
Hi!
Ich möchte überprüfen, ob ein sich ein bestimmter Name in der Zeichenkette befindet - wie stelle ich das denn nun an?
Du kannst prüfen, ob die Position dieses gesuchten Teilstrings in diesem String ungleich dem Wert für "nicht vorhanden" ist. Das ist eine grundlegende Stringverarbeitungsfunktionalität, die in eigentlich jeder grundlegenden Funktionsbibliothek enthalten ist und meist auf irgendwas mit "pos" hört. Für PHP ist es die Funktion strpos().
Lo!
Danke für die Antworten, ich hab allerdings NOCH eine Frage (hoffentlich die Letzte!!) zu explode().
Ich möchte, dass wenn eine Freundschaftsanfrage gestellt wird, diese vom geaddeten Nutzer bestätigt wird.
Dazu hatte ich mir überlegt, dass bei der Stellung der Freundschaftsanfrage eine weitere Spalte mit z.B. "1" gefüllt wird. 1 bedeutet dann, dass die Anfrage aussteht.
Der Nutzer, der bestätigen soll, fügt einmal den anderen Nutzer in seine Freundschaftsspalte mit ein, sowie setzt 1 bei dem anderen Nutzer auf 2.
2 Bedeutet, dass die Anfrage angenommen wurde.
Jetzt ist nur eine Zeichenkette vorhanden .. wie ordne ich jedem Teilstück der Kette eine Zahl zu?? Und wie schaffe ich es, gleichzeitig in Tabelle A den Nutzer zu den Freunden hinzuzufügen und dann noch bei dem anderen Nutzer 1 auf 2 zu setzen?
Ich hoffe ihr versteht mein Anliegen.. es ist etwas kompliziert ausgedrückt.
Danke schonmal
Hallo,
Ich möchte überprüfen, ob ein sich ein bestimmter Name in der Zeichenkette befindet - wie stelle ich das denn nun an?
Bei einem einzelnen Eintrag in der Datenbank wäre das ja einfach - aber so kann ich jetzt hier ja nicht vorgehen, oder?
einfacher, zum Beispiel mit strpos() (Kasten beachten!) oder mit substr_count(). preg_match() ginge auch, nähme ich jedoch nicht ...
Freundliche Grüße
Vinzenz
Hello,
einfacher, zum Beispiel mit strpos() (Kasten beachten!) oder mit substr_count(). preg_match() ginge auch, nähme ich jedoch nicht ...
Und dann sollten wir vielleicht noch darauf hinweisen, dass es auch Multibytefunktionen gibt, für den Fall, dass da jemand gar UTF-8-codierte Texte verarbeiten will :-))
http://de.php.net/manual/de/function.mb-strpos.php
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Nur leider kommt immer "$element" zurück, ...
echo '$element<br>';
Wäre nett, wenn mir da jmd auf die Sprünge helfen könnte, wo mein Fehler liegt.
Auch einem Blinden mit Krückstock müßte auffallen, daß nicht der Inhalt der Variable, wie der auch immer sein möge, ausgegeben wird, sondern ein string mit dem Variablennamen. Was soll es also mit dem Inhalt der Variable oder mysql-Krams zu tun haben?
Du sagst dem Server er soll '$element<br>' ausgeben, willst aber, daß er den Inhalt von $element gefolgt von '<br>' ausgibt, also echo $element.'<br>'; oder echo "$element<br>";.
Beschäftige dich mit den Grundlagen von php.
z.B.:
http://de.php.net/manual/de/
http://tut.php-quake.net/de/
Hello,
da stecken aber noch eine Menge Fehler und Überflüssigkeiten im Script.
<?php
session_start();
$username = $_SESSION['username'];
$user = $_GET['username'];
define ( 'MYSQL_HOST', 'localhost' );
define ( 'MYSQL_BENUTZER', 'XX' );
define ( 'MYSQL_KENNWORT', 'XX' );
define ( 'MYSQL_DATENBANK', 'XX' );
$db_link = @mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT);
if ( ! $db_link )
{
die('keine Verbindung zur Zeit möglich - später probieren ');
}
#> $db_sel = mysql_select_db(scrapen)
# $db_sel = mysql_select_db('scrapen')
$db_sel = mysql_select_db(MYSQL_DATENBANK)
or die("Auswahl der Datenbank fehlgeschlagen");
$sql = "
SELECT
*
FROM freunde
WHERE username = '$username'
ORDER BY id
";
$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysql_error());
}
$anzahl_eintraege = mysql_num_rows($db_erg);
echo "<p>Deine Freunde:<b>$anzahl_eintraege </b> </p>";while ($daten = mysql_fetch_array( $db_erg, MYSQL_ASSOC))
{
extract($daten);
echo " $id
$username
$freund
<br>";
}
mysql_free_result( $db_erg );
$array = explode('-', $freund);
foreach ($array as $element) {
echo '$element<br>';
}
?>
Das, was ich angemeckert habe, muss nicht unbedingt alles gewesen sein, was Du korrigieren solltest, aber für den Anfang reicht es erstmal :-)
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
![](http://selfhtml.bitworks.de/Virencheck.gif)
--
☻\_
/▌
/ \ Nur selber lernen macht schlau
<http://bergpost.annerschbarrich.de>