anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Fr 29 Mär, 2024 14:28

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 44 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3  Nächste
Autor Nachricht
 Betreff des Beitrags: Re: Die Zeitung
BeitragVerfasst: Di 15 Jan, 2008 09:21 
Offline
Held
Held

Registriert: Mo 23 Jan, 2006 13:15
Beiträge: 222
Grüße Euch,

und gleich mal sry, dass ich diesen Thread noch einmal hervorkrame, aber ich bin an einem Punkt, wo ich gerade nicht weiterkomme und brauche Eure schlauen Köpfe :o)

Ich finde die Zeitung als Idee absolut super und möchte das auch meinen Spielern anbieten, in beinahe gleicher Variante.
Kleine Abänderungen sind ja bestimmt nicht unerlaubt.

Ich möchte zum Bsp für die Redaktion nur zwei feste Mitarbeiter anzeigen lassen, ansonsten sind die anderen Schreiberlinge Freiberufler. Das heißt, die Mitarbeiter, die der Redaktion angehören, sollen Zutritt zum Redaktionsbüro haben, aber natürlich auch meine Moderatoren und ich als Admin selbstverständlich auch.
So.
In der zeitung.php möchte ich unter dem ganzen Text anzeigen lassen, wer festes Bestandteil der Redaktion ist. Ich hab das schon etliche Male gemacht, aber genau hier klappt es nicht.
Ich mache also eine sql-Abfrage, aber er zeigt mir alle Spieler an.
Ich zeigs Euch mal, was ich in der Datei habe:

[php]$sql = "SELECT * FROM accounts WHERE redaktion=1 ORDER BY redaktion ASC";
$result = db_query($sql) or die(sql_error($sql));
output("<table border=0 cellpadding=2 cellspacing=1 bgcolor='#999999'>",true);
output("<tr class='trhead'><td align=\"center\"><b>Mitarbeiter der Redaktion</b></tr>",true);

for($i=0;$i<db_num_rows($result);$i++){

$row = db_fetch_assoc($result);
output("<tr class='".($i%2?"trdark":"trlight")."'><td>",true);
output("<a href=\"mail.php?op=write&to=".rawurlencode($row['login'])."\" target=\"_blank\" onClick=\"".popup("mail.php?op=write&to=".rawurlencode($row['login'])."").";return false;\"><img src='images/newscroll.GIF' width='16' height='16' alt='Mail schreiben' border='0'></a>",true);

output("<a href='bio2.php?char=".rawurlencode($row['login'])."'target='_blank' onClick=\"".popup("bio2.php?char=".rawurlencode($row['login'])."").";return false;\">",true);
addnav("","bio2.php?char=".rawurlencode($row['login'])."");
output("`&$row[name]`0");

output("</td></tr>",true);
}
output("</table>",true);
[/php]

In meiner Datenbank habe ich eine das Feld für die Redaktion in den accounts drin.
Habe ich wie folgt angelegt:

ALTER TABLE accounts ADD redaktion enum('0','1') NOT NULL default '0'


Und auch meine user.php habe ich mit folgenden Zusatz erweitert:

"redaktion"=>"Redakteur?,enum,0,Nein,1,Ja",


Doch listet mir die Tabelle, in der ich NUR Redakteure anzeigen lassen will, jegliche Spieler auf. Ist sicher nur ein Denkfehler, aber... wo??

Genauso klappt auch meine addnav nicht, um in die Redaktion als Mitglied UND als superuser (größer 2, was bei mir Mods und Admins sind) zu gelangen.

Sie sieht so aus:

[php] if ($session['user']['superuser']>=2 && $session['user']['redaktion']==1){
addnav("Ins Büro");
addnav("`3Redaktion","redaktion.php");
}
[/php]

Kurioserweise habe ich mal rumgestestet gehabt mit anderen Angaben in der SQl-Abfrage, da war es dann so, dass ich mich selbst auf Reakteur=1 gestellt habe und NICHT in der Liste war, aber Zugang zur Redaktion habe, und wenn ich mich auf Redakteur=0 umgestellt habe, stand ich in der Tabelle, die addnav "Redaktion" war weg, obwohl ich Zutritt hätte aufgrund der superuser-Definition.

Aber mit meiner derzeitigen, obenangegebenen SQL-Abfrage bekomme ich beinahe alle Spieler angezeigt.

Wer hilft meinem Denkfehler auf die Sprünge??

Vielen Dank im Voraus
Grüße, verni :wink:

_________________
»Esgorath«

Source


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Die Zeitung
BeitragVerfasst: Di 15 Jan, 2008 12:13 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
$this->bbcode_second_pass_code('', 'if ($session['user']['superuser']>=2 && $session['user']['redaktion']==1){')

Totaller Quatsch!

$this->bbcode_second_pass_code('', 'if ($session['user']['superuser']>=2 OR $session['user']['redaktion']==1){')

entweder so, oder so

$this->bbcode_second_pass_code('', 'if ($session['user']['superuser']>=2 || $session['user']['redaktion']==1){')

...

Zur Ausgabe..... Versuch es doch mal mit ner While schleife !

Grüße,

My.

_________________
Never change a running system. Bullshit! ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Die Zeitung
BeitragVerfasst: Di 15 Jan, 2008 12:24 
Offline
Held
Held

Registriert: Mo 23 Jan, 2006 13:15
Beiträge: 222
Wegen der While-Schleife - ist das echt notwendig? Ich habe meine Ausgaben / Anzeigen nie so gehandhabt, sondern immer so, wie ich es dort oben beschrieben habe.
Hat bisher auch immer funktioniert. Warum dort nicht?

_________________
»Esgorath«

Source


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Die Zeitung
BeitragVerfasst: Di 15 Jan, 2008 12:35 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
$this->bbcode_second_pass_code('', '$select = "SELECT * FROM accounts WHERE redakation=1 ORDER BY level DESC";
$result = db_query($select) or die(sql_error($select));

if (db_num_rows($result) == 0)
{
output('`iLeider wurden keine Einträge gefunden.`i');
}
else {
output('<table align="center" border=0 bgcolor="#FFFFFF" cellpadding=2 cellspacing=1>'.
'<tr class="trhead">'.
'<td align="center">Name</td>'.
'<td >Mail schreiben</td>'.
'</tr>'
,true);
While ($row = db_fetch_assoc($result))
{
output('<tr class="'.($i%2?'trdark':'trlight').'">'.
'<td >'.$row[name].'</td>'.
'<td ><a href="mail.php?op=write&to='.rawurlencode($row['login']).'" target="_blank">Mail schreiben</a></td>'.
'</tr>'
,true);
}
output('</table>',true);
}')

Kleines Beispiel für die While schleife.. vllt,. geht es ja so.. mit "for" hab ich so meine Problemme :D

_________________
Never change a running system. Bullshit! ;)


Zuletzt geändert von MySql am Di 15 Jan, 2008 12:58, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Die Zeitung
BeitragVerfasst: Di 15 Jan, 2008 12:53 
Offline
Held
Held

Registriert: Mo 23 Jan, 2006 13:15
Beiträge: 222
Beinahe identisches Ergebins. Ich bekomme sämtliche Spieler in der Tabelle aufgelistet.
Also kann es nur ein Fehler sein, der mit meinem 'redaktion' zu tun hat.
Ist vllt der db-Eintrag falsch? Das kann ich mir einfach nicht vorstellen!
Standard ist 0, er dürfte mir niemanden anzeigen. *sfz*

_________________
»Esgorath«

Source


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Die Zeitung
BeitragVerfasst: Di 15 Jan, 2008 12:54 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
$this->bbcode_second_pass_code('', 'ALTER TABLE accounts CHANGE `redaktion` `redaktion` TINYINT(3) NOT NULL default 0;')

_________________
Never change a running system. Bullshit! ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Die Zeitung
BeitragVerfasst: Di 15 Jan, 2008 12:55 
Offline
Freak
Freak

Registriert: So 29 Jan, 2006 09:41
Beiträge: 1927
Wohnort: Schweiz
Geschlecht: Männlich
Skype: louis.huppenbauer
$this->bbcode_second_pass_code('', '$max = db_num_rows($result);
for ( $i = 0; $i < $max; $i++) {
$row = db_fetch_assoc($result);')

So müsste man es mit der for-Schleife machen.
Übrigens MySql... Wenn du deinen Vorschlag genau anschaust, müsstest du noch etwas modifizieren (Stichwort trdark/trlight


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Die Zeitung
BeitragVerfasst: Di 15 Jan, 2008 12:59 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
Args.. Stimmt... Wusste nicht mehr wie man des in ner Tabelle schreibt und hab des kopiert.. *lach
Hatte vergessen die " durch ' zu ersetzten :pein:

_________________
Never change a running system. Bullshit! ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Die Zeitung
BeitragVerfasst: Di 15 Jan, 2008 13:02 
Offline
Freak
Freak

Registriert: So 29 Jan, 2006 09:41
Beiträge: 1927
Wohnort: Schweiz
Geschlecht: Männlich
Skype: louis.huppenbauer
$this->bbcode_second_pass_code('', 'output('<tr class="'.($i%2?'trdark':'trlight').'">'.')

Ich meinte eigentlich hier die Variable $i :-P
Bei einer while-Schleife müsstest du diese jeweils manuell um eins hochzählen.

Ach ja... In MySql's Vorschlag gibt es noch einen kleinen Fehler. In der Where-Klausel. Achtet euch da auf die Rechtschreibung ;-)


Zuletzt geändert von Harthas am Di 15 Jan, 2008 13:09, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Die Zeitung
BeitragVerfasst: Di 15 Jan, 2008 13:07 
Offline
Held
Held

Registriert: Mo 23 Jan, 2006 13:15
Beiträge: 222
MySql hat geschrieben:
$this->bbcode_second_pass_code('', 'ALTER TABLE accounts CHANGE `redaktion` `redaktion` TINYINT(3) NOT NULL default 0;')


Nein, auch nicht. Ich glaube auch nicht, dass mein enum falsch ist.
Kanns an meiner Aufzählung liegen? Vllt kommt er wegen definierte rp-chars ins Schleudern?

Ich hab schon alles mögliche probiert und weiß mir keinen Rat mehr.


[quote="Harthas"]$this->bbcode_second_pass_code('', '$max = db_num_rows($result);
for ( $i = 0; $i < $max; $i++) {
$row = db_fetch_assoc($result);')


Auch probiert, aber auch das scheints nicht zu sein... Ich zweifel allmählich

_________________
»Esgorath«

Source


Zuletzt geändert von vernisage am Di 15 Jan, 2008 13:13, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Die Zeitung
BeitragVerfasst: Di 15 Jan, 2008 13:08 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
Oder es automatisch hoch zählen lassen . *lach
Gut merke ich mir für die nächste Tabelle...

_________________
Never change a running system. Bullshit! ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Die Zeitung
BeitragVerfasst: Di 15 Jan, 2008 13:11 
Offline
Freak
Freak

Registriert: So 29 Jan, 2006 09:41
Beiträge: 1927
Wohnort: Schweiz
Geschlecht: Männlich
Skype: louis.huppenbauer
Naja... Mit enum gibs in MySQL ab und an Probleme (Besonders wenn die Werte 0 und 1 sind... Nimm lieber etwas anderes).


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Die Zeitung
BeitragVerfasst: Di 15 Jan, 2008 13:16 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
Nachdem gechanget wurde, sollte alle "Spieler" auch die, die redaktion auf "1" hatten auf 0 sein.

Frage:

Werden wieder unzählige Leute des Spiels ausgegeben oder gar keiner?

Vllt. stehen alle auf 1 was aber nicht sein kann.!

_________________
Never change a running system. Bullshit! ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Die Zeitung
BeitragVerfasst: Di 15 Jan, 2008 13:21 
Offline
Held
Held
Benutzeravatar

Registriert: So 19 Nov, 2006 09:57
Beiträge: 231
Geschlecht: Weiblich
LoGD: http://www.trahhenbluot.de/Planetenchaos/source.php
output("<tr class='trhead'><td align=\"center\"><b>Mitarbeiter der Redaktion</b></tr>",true);

.. hat einen kleinen Fehler ... wollte ich nur so nebenbei erwähnen

output("<tr class='trhead'><td align=\"center\"><b>Mitarbeiter der Redaktion</b></td></tr>",true);

_________________
Das Lesen im Bett zeugt von völliger Hingabe an die Kunst: Man überlässt es dem Dichter, wann man einschläft.
Ernst R. Hauschka, deutscher Aphoristiker (geb. 1926)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Die Zeitung
BeitragVerfasst: Di 15 Jan, 2008 13:22 
Offline
Held
Held

Registriert: Mo 23 Jan, 2006 13:15
Beiträge: 222
Also, ich habe gechanged und den db-Eintrag erstmal so gelassen.
In der user.php hab ich den Eintrag entsprechend geändert (was aber nichts zur Sache tut - im Moment)

Ich bekomme wieder unzählige Spieler angezeigt..

Un dgerade eben seh ich, dass alle Spieler auf 1 gestellt sind... wie ist das möglich???????
Standard soll 0 sein.

_________________
»Esgorath«

Source


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Die Zeitung
BeitragVerfasst: Di 15 Jan, 2008 13:25 
Offline
Freak
Freak

Registriert: So 29 Jan, 2006 09:41
Beiträge: 1927
Wohnort: Schweiz
Geschlecht: Männlich
Skype: louis.huppenbauer
In der user.php kannst du das enum ruhig lassen. Das bezieht sich nicht grundsätzlich auf den Datentyp enum in MySQL, sondern dient einfach als Parameter für die Art der Ausgabe der Funktion showform.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Die Zeitung
BeitragVerfasst: Di 15 Jan, 2008 13:34 
Offline
Held
Held

Registriert: Mo 23 Jan, 2006 13:15
Beiträge: 222
Lori hat geschrieben:
output("<tr class='trhead'><td align=\"center\"><b>Mitarbeiter der Redaktion</b></tr>",true);

.. hat einen kleinen Fehler ... wollte ich nur so nebenbei erwähnen

output("<tr class='trhead'><td align=\"center\"><b>Mitarbeiter der Redaktion</b></td></tr>",true);


Danke Lori, das kleine td ist mir gar nicht aufgefallen - ist ausgebessert...

Hat jemand was lukratives, warum alle meine Spieler bei redaktion auf 1 stehen? Obwohl Standard 0 sein sollte? Und wie bekomme ich alle Spieler wieder auf 0, wenn obiges "change" nicht funktioniert und ich nicht alle manuell umstellen möchte??

_________________
»Esgorath«

Source


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Die Zeitung
BeitragVerfasst: Di 15 Jan, 2008 13:37 
Offline
Freak
Freak

Registriert: So 29 Jan, 2006 09:41
Beiträge: 1927
Wohnort: Schweiz
Geschlecht: Männlich
Skype: louis.huppenbauer
UPDATE `accounts` SET `redaktion` = 0;

Sollte in etwa sowas sein.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Die Zeitung
BeitragVerfasst: Di 15 Jan, 2008 13:54 
Offline
Held
Held

Registriert: Mo 23 Jan, 2006 13:15
Beiträge: 222
Wow - das wars - das war alles. Und ich juckel seit Stunden daran rum
Hast du noch ne Erklärung, warum die DB alle auf 1 gesetzt hat?

_________________
»Esgorath«

Source


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Die Zeitung
BeitragVerfasst: Di 15 Jan, 2008 13:56 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
Könnte mehrere Gründe geben, aber wenn ich ganz doof Tippen darf, stimmt etwas nicht mit deinem User Editor.
Warscheinlich wurde nach dem Update des einen Spielers, jeder Spieler geupdated und redaktion auf 1 gesetzt-

_________________
Never change a running system. Bullshit! ;)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 44 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3  Nächste

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 35 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
cron
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum