Text aus DB auslesen

stega

Erfahrenes Mitglied
Ich habe folgendes Problem:
In einer DB habe ich eine Spalte, wo Text drin stehen soll (ich möchte dort immer die Neuigkeiten für den einzelnen User hinschreiben).
Der User soll nun auf einen Link klicken und dann auf die Newsseite gelangen. Dort soll er die für ihn bestimmten News abrufen und lesen können.
Leider habe ich das Problem, dass bei mir kein Text angezeigt wird....

wie kann ich das lösen? die Spalte heißt 'news'....bei mir erscheint immer nur eine leere Seite ohne Inhalt :(
 
Ich denke, dass sich dein Problem ohne den PHP-Code nicht beheben werden lässt, denn wir können dir ja nicht Hilfe für ein Skript geben, dass uns überhaupt nich vorliegt. Also! Poste einfach mal dein Skript in den Thread und du wirst sicherlich Hilfe bekommen.
 
Hallo

Wie schon der_maiki gesagt hat bräuchten wir das Script oder ein Teil deines Scripts wenn du uns das nur so sagst könnte es 100 Probleme geben ;)

MfG
 
PHP:
$meinetabelle =  "";
$meinespalte = "";

// Editier die oberen Variablen

// Jetzt weisen wir aus die Tabelle auzulesen durch Limit 1 auf eine Zeile limitieren
$result=mysql_query("SELECT * FROM $meinetabelle LIMIT 1");
{
while($row=mysql_fetch_array($result)) // Wir legen Diese Zeile in ein array
{
// Achtung $row[$meinespalte]
echo $row[$meinespalte];
}
}

Bedenke: Angenommen du hast 2 spalten namens Spalte1 und Spalte2
so kannst du sie ausgeben $row[Spalte1] $row[Spalte2]
da $row den array mit den Spalteninhalt ausgibt.
 
Angenommen aber du hast Lauter Links

in 2 Spalten BSP:

Spaltemitlinks und Spaltemirturl

So liest du sie dann wie folgt aus:

PHP:
$meinetabelle = "";  //ausfüllen
$spaltemitlinknamen = "";
$spaltemiturl = "";

$result=mysql_query("SELECT * FROM $meinetabelle ORDER BY $spaltemitlinknamen ASC");
{
for($i=0; $i<1000 && ($row=mysql_fetch_array($result)); $i++)
{
echo "<a href='$row[$spaltemiturl]'> $row[$spaltemitlinknamen]</a>\n";
}
}
 
mein script sieht jetzt so aus:
PHP:
<?
$dbverbindung = mysql_connect("XXXX","XXXXX","XXXXX");mysql_select_db("DB");
$result=mysql_query("SELECT news FROM user WHERE user='".$_SESSION["user_user"]."'LIMIT 1"); 
{ 
while($row=mysql_fetch_array($result)) // Wir legen Diese Zeile in ein array 
{ 
// Achtung $row[$meinespalte] 
echo $row[$meinespalte]; 
} 
}
 
mysql_close ($dbverbindung)

?>
aber die Seite wird trotzdem nur als weiße Seite ausgegeben...
das Tabellenfeld sieht so aus: es ist ein TEXT-Feld, heißt 'news', es sind keine Links oder so drin, sondern nur normaler Text....z.B. ''Neu: Login-System'' mehr soll gar nicht drin stehen....keine Bilder, keine Links...
Die Tabelle sieht (vereinfacht) so aus:
id, user, passwort, news...
er soll jetzt für den User, wenn er sich einloggt, die News aus seiner Tabellenzeile auslesen.... :(
 
Hi,

aber Deine MySQL-Tabelle heißt nicht etwa auch "user", oder? Mir kommt nur Dein Query ein bisschen spanisch vor... Ich weiß nicht mal wie MySQL das behandelt, aber lt. Deinem Query heißt die Tabelle user und ein Feld user - also ich würde das schon mal ändern ;-) Es sei denn der Aufruf ist sowieso falsch...

Liebe grüße
 
doch, meine Tabelle heißt user und eins der Felder darin heißt auch user.....aber damit gabs bisher noch keine Probleme...weil des ja unterschieden wird im SELECT user FROM user (zuerst Tabellebfeld, dann Tabelle)..... mich wunderts nur, warum da bei mir kein Text kommt sondern nur weiß...
 
es funktioniert jetzt, es war ein kleiner Fehler in eurem Script
PHP:
while($row=mysql_fetch_array($result)) 
{ 
echo $row["news"]; 
} 
}

es muss echo $row["news"] heißen, nicht echo $row[$news] ...jetzt kommt der Text zum Vorschein =)
 
so, ich erweitere jetzt das Problem, weil grad ein weiteres aufgetaucht ist:
ich möchte die 'News' über eine Adminseite eingeben können. Dabei soll er mir erst eine Auflistung aller User zeigen, bei der ich dann auswählen kann, für wen die News alles bestimmt sind. Dann soll das Script die News überall dort eintragen, wo die Checkbox aktiveirt ist.
Mein Script bisher:
PHP:
<?
echo '<form action="'.$PHP_SELF.'?go=save" method="POST">
News eintragen <br>
für:';
$dbanfrage = "SELECT user from $tabelle ORDER BY user DESC";
$result = mysql_query ($dbanfrage);

 while ($ausgabe = mysql_fetch_array ($result))
 {
 print (" <table width=60% border=1 cellspacing=1 cellpadding=0>
    <tr> 
    <td><input type=checkbutton name=".$ausgabe["user"].">  
// soll die Chekckbox den gleichen Namen wie der User bekommen? Wird des dann einfacher?
    <td bgcolor=#FFFFCC width=30%>$ausgabe[user]</td>
  </tr>  
</table><br>
 ");
 }
echo'
<br>
Artikel:<br><textarea name="Array[artikel]" row=5 cols=40>
</textarea>
<br>
<br>
<input type=submit name="SUBMIT" value="ok">
</form>
</body>
</html>';

///////////////////////////////////////////////////////////////////////// 
//////////////////////Verarbeitung  ////////////////////////
case "save"
$host = "localhost";
$user = "XXX";
$password = "XXX";
$dbname = "XXX";
$tabelle ="user";

$dbverbindung = mysql_connect ($host, $user, $password);

$dbanfrage = "INSERT into $tabelle values ('$Array[artikel]') WHERE user=  "; 
// Hier ist mein Problem: wie sage ich dem Script, dass es die News bei dem user eintragen soll, bei dem die Checkbox aktiviert ist?

if (mysql_db_query ($dbname, $dbanfrage, $dbverbindung)) {
print ("Datenbankeintrag erfolgreich.");
} else {
print ("Es traten Probleme auf.");
}
mysql_close ($dbverbindung);
Danke für eure Hilfe, hier wird einem echt schnell und umkompliziert geholfen....zum Glück gibts noch solche Foren! :rolleyes:
 
Zurück