Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.21 veröffentlicht (11.06.19)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Php Mysql Auslese ohne Schleife
#1
Hallöchen,

ich hab noch ein kleines Problem mit einer Datenbankauslese mittels PHP. Es funktioniert, dass ist schon mal das Gute. Allerdings gibt es folgendes Problem: Ich bekomme alles in einer Schleife ausgelesen. Das heißt die Abfrage lässt für jede Zeile alle Inhalte aus und schreibt diese hintereinander. Wenn ich die Schleife zu unterbinden versuche, gibt er mir sofort einen Error aus und es funktioniert gar nicht mehr.

Anbei der Code:


PHP-Code:
define('IN_MYBB'1); 
require 
"./global.php"
require 
"./inc/config.php";

add_breadcrumb("Kreaturen""kreaturen.php");


$result $db->query("SELECT username FROM mybb_users LEFT JOIN mybb_userfields ON mybb_users.uid = mybb_userfields.ufid WHERE fid14 = 'HUMAN' ORDER BY username ASC");

while(
$kreatur $db->fetch_array($result)) {
 
$human .= $kreatur['username'];
  eval(
"\$kreatur_human .= \"".$templates->get("kreatur_human")."\";"); 
}


$result $db->query("SELECT username FROM mybb_users LEFT JOIN mybb_userfields ON mybb_users.uid = mybb_userfields.ufid WHERE fid14 = 'SHADOWHUNTER' ORDER BY username ASC");
 
while(
$kreatur $db->fetch_array($result)) {
 
$shadowhunter .= $kreatur['username'];
  eval(
"\$kreatur_shadowhunter .= \"".$templates->get("kreatur_shadowhunter")."\";"); 



$result $db->query("SELECT username FROM mybb_users LEFT JOIN mybb_userfields ON mybb_users.uid = mybb_userfields.ufid WHERE fid14 = 'VAMPIRE' ORDER BY username ASC");

while(
$kreatur $db->fetch_array($result)) {
 
$vampire .= $kreatur['username'];
  eval(
"\$kreatur_vampire .= \"".$templates->get("kreatur_vampire")."\";"); 
}


$result $db->query("SELECT username FROM mybb_users LEFT JOIN mybb_userfields ON mybb_users.uid = mybb_userfields.ufid WHERE fid14 = 'WEREWOLF' ORDER BY username ASC");

while(
$kreatur $db->fetch_array($result)) {
 
$werewolf .= $kreatur['username'];
  eval(
"\$kreatur_werewolf .= \"".$templates->get("kreatur_werewolf")."\";"); 
}


$result $db->query("SELECT username FROM mybb_users LEFT JOIN mybb_userfields ON mybb_users.uid = mybb_userfields.ufid WHERE fid14 = 'WARLOCK' ORDER BY username ASC");

while(
$kreatur $db->fetch_array($result)) {
 
$warlock .= $kreatur['username'];
  eval(
"\$kreatur_warlock .= \"".$templates->get("kreatur_warlock")."\";"); 
}

$result $db->query("SELECT username FROM mybb_users LEFT JOIN mybb_userfields ON mybb_users.uid = mybb_userfields.ufid WHERE fid14 = 'FAIRY' ORDER BY username ASC");

while(
$kreatur $db->fetch_array($result)) {
 
$fairy .= $kreatur['username'];
  eval(
"\$kreatur_fairy .= \"".$templates->get("kreatur_fairy")."\";"); 
}
 
 




eval(
"\$kreaturen = \"".$templates->get("kreaturen")."\";"); 
output_page($kreaturen);


?>


Hoffe man kann mir helfen....

LG
Zitieren
#2
Ich weiß natürlich nicht, wie die entsprechenden Templates aussehen, aber lass doch mal die Punkte jeweils in der Zeile unter while(...) weg, also zB.
$human = $kreatur['username'];
$shadowhunter = $kreatur['username'];
usw.
Zitieren
#3
Hallo,

wenn ich das versuche liests mir leider gar nichts mehr aus. Meine Templates sehen wie folgt aus:

Kreaturen

PHP-Code:
<html>
<
head>
<
title>{$settings['bbname']} - Kreaturen</title>
{
$headerinclude}
</
head>
<
body>
{
$header}
<
table border="0" cellspacing="{$theme['borderwidth']}cellpadding="{$theme['tablespace']}class="tborder">
<
tr>
<
td class="thead"><h3>Kreaturen</h3></font></td>
</
tr>

<
tr>
<
td>
<
table width="100%"><tr>
<
td width="50%" valign="top">

<
table width="100%">
<
tr><td align="center"><div style="width:350px; padding: 10px; background-color: #ad0d0d; text-align: center; font-family: open sans; font-size: 7px; letter-spacing: 5px; text-transform: uppercase; color: white;">HUMAN</div></td></tr>
<
tr><td>
$kreatur_human
</td></tr>
</
table></td>


<
td width="50%" valign="top">
<
table width="100%">
<
tr><td align="center"><div style="width:350px; padding: 10px; background-color: #ad0d0d; text-align: center; font-family: open sans; font-size: 7px; letter-spacing: 5px; text-transform: uppercase; color: white;">SHADOWHUNTER</div></td></tr>
<
tr><td>
$kreatur_shadowhunter
</td></tr>
</
table></td></tr></table></td></tr>


<
tr>
<
td>
<
table width="100%"><tr>
<
td width="50%" valign="top">

<
table width="100%">
<
tr><td align="center"><div style="width:350px; padding: 10px; background-color: #ad0d0d; text-align: center; font-family: open sans; font-size: 7px; letter-spacing: 5px; text-transform: uppercase; color: white;">VAMPIRE</div></td></tr>
<
tr><td>
$kreatur_vampire
</td></tr>
</
table></td>


<
td width="50%" valign="top">
<
table width="100%">
<
tr><td align="center"><div style="width:350px; padding: 10px; background-color: #ad0d0d; text-align: center; font-family: open sans; font-size: 7px; letter-spacing: 5px; text-transform: uppercase; color: white;">WEREWOLF</div></td></tr>
<
tr><td>
$kreatur_werewolf
</td></tr>
</
table></td></tr></table></td></tr>



<
tr>
<
td>
<
table width="100%"><tr>
<
td width="50%" valign="top">

<
table width="100%">
<
tr><td align="center"><div style="width:350px; padding: 10px; background-color: #ad0d0d; text-align: center; font-family: open sans; font-size: 7px; letter-spacing: 5px; text-transform: uppercase; color: white;">WARLOCK</div></td></tr>
<
tr><td>
$kreatur_warlock
</td></tr>
</
table></td>


<
td width="50%" valign="top">
<
table width="100%">
<
tr><td align="center"><div style="width:350px; padding: 10px; background-color: #ad0d0d; text-align: center; font-family: open sans; font-size: 7px; letter-spacing: 5px; text-transform: uppercase; color: white;">FAIRY</div></td></tr>
<
tr><td>
$kreatur_fairy
</td></tr>
</
table></td></tr></table></td></tr>


</
tr>
</
table></td>

</
table></td></tr>


</
table>
{
$footer}
</
body>
</
html

Einzel Tpl

PHP-Code:
<tr><td style="padding-left:20px;"><font size="1" style="font-family:open sans; size:7px; text-transform:uppercase;">$human</font></td></tr
Zitieren
#4
Füge Variablen in den Templates so ein:
Code:
{$kreatur_human}
statt
Code:
$kreatur_human
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#5
Jockl, das macht grundsätzlich keinen Unterschied, PHP unterstützt da mehrere Varianten. Wink
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#6
Oha.... Blush
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#7
Im Grunde müsste es ja mit ner If Abfrage gehen - also Num Rows = 0 ... aber das mag er nicht. Da gibt er sofort nen Error...
Zitieren
#8
Ohne deinen Code und die Fehlermeldung kann man leider nur raten. Wink
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#9
Der Vorschlag von waldo müßte eigentlich genau passen. .= nur innerhalb des eval(), nicht bei der Variable davor.
Zitieren
#10
Nur mal eine grundsätzliche Frage, aber warum machst du für jede Art (Vampir, Werwolf...) einen eigenen MySQL-Query? Du kannst ja doch einfach das alles über einen MySQL-Query abwickeln. Du musst dann halt einfach in der While-Schleife fragen, was er nun ist und dann so reagieren.
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  PHP Auslese Script Devidra 4 821 12.06.2013, 14:11
Letzter Beitrag: Devidra
  while Schleife gibt das letzte Ergebnis 2mal aus!? Bimon 1 914 16.06.2007, 00:57
Letzter Beitrag: Alisha
  [Gelöst]while Schleife als Variable Jan 3 2.059 01.04.2006, 18:27
Letzter Beitrag: Michael