[PHP]problemen met een functie.

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb het volgende stukje code,

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
                elseif(eregi("^!online (.+)$", strtolower($msg), $arr))
                {
                  $str = GetSearchMembers($charName, $arr[1]);
                if(false === $str)
                  {
                      GuildMessage($color["red"]."Invalid search syntax.");
                    }
                      else
                    {
                        GuildMessage(MakeLink("Guild members online"), MakePrivTextBlob($str));
                }
            }


die door verwijst naar een functie, nu is niet heel die functie interesant maar wel dit stukje(het stukje waar ik dus op het moment ook problemen mee heb)

PHP:
1
2
3
4
5
      if($className == "all") { 
        $stmt = "SELECT * FROM $memberTable WHERE online order by ranknum"; 
        } else {
        $stmt = "SELECT * FROM $memberTable WHERE `profession`='$className' AND online order by ranknum"; 
      }


Wat ik nu wil bereiken is het volgende, als er een '!online (classname) function wordt aangeroepen moet hij iets anders uitvoeren als dat er een '!online' wordt uitgevoerd.

Op een of andere manier lukt het me NIET om gewoon de '!online' te laten werken, dit komt natuurlijk omdat $className altijd iets is(moet ik dan soms gewon FALSE gebruiken ofzo).. als ik een "!online " gebruik doet hij het dus wel. zonder spaties niet.

Alvast bedankt./

[ Voor 42% gewijzigd door Verwijderd op 16-05-2003 14:10 ]


Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

echo je statement voordat je hem in je programma laat uitvoeren, voer het dan eens handmatig op je database uit.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

Verwijderd

Gooi je code svp tussen php tags voor de duidelijkheid.
PHP:
1
2
3
4
5
6
7
8
if($className)
{
 $stmt = "SELECT * FROM $memberTable WHERE `profession`='$className' AND online order by ranknum"; 
}
else
{
$stmt = "SELECT * FROM $memberTable WHERE online order by ranknum"; 
}


Als je query uitvoert wat is dan je foutmelding.
Ik heb hier nl geleerd dat php behoorlijk wat informatie geeft met dit soort problemen.
dus iets van

PHP:
1
mysql_query($stmt) or die(mysql_error());


edit:

Volgens mij kunnen de single quotes rond profession weg

[ Voor 22% gewijzigd door Verwijderd op 16-05-2003 13:51 ]


Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Ik wordt er niet echt wijs uit. Wat is een !online functie? En waar komt die variabel $classname vandaan? En wat kan $classname allemaal inhouden? En kun je niet beter 'WHERE online=1' ofzo gebruiken?

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Michali schreef op 16 May 2003 @ 13:44:
Ik wordt er niet echt wijs uit. Wat is een !online functie? En waar komt die variabel $classname vandaan? En wat kan $classname allemaal inhouden? En kun je niet beter 'WHERE online=1' ofzo gebruiken?
Deze hele code wordt gebruikt in een chat- waar ik met sockets connectie mee houd.

als iemand dus !online in typed in de chat wordt die hele troep aangeroepen.

$className = whatever er achter !online aankomt(zie code aub)
wat kan $className allemaal inhouden? van alles. maakt dat iets uit dan?

Of ik dat niet beter kan.. neuh ;) 'WHERE online' werkt perfect.

[ Voor 9% gewijzigd door Verwijderd op 16-05-2003 14:05 ]