login  Naam:   Wachtwoord: 
Registreer je!
 Forum

in_array

Offline MisterF - 16/09/2008 14:54
Avatar van MisterFNieuw lid
  1. $sql = mysql_query("SELECT leden FROM team");
  2. if (in_array("$lid", $sql)) {
  3. echo "Dit lid zit al in een team.";
  4. }


In mijn pagina kan je een lid in een team plaatsen.
In dit stukje controleert hij uit een array in de database of het lid ook al ingedeelt is in een team. En op de pagina krijg ik dan dit error:
  1. Warning: in_array() [FUNCTION.in-array]: Wrong datatype FOR second argument IN /sites/vh02/deepmafia.com/www/game/aa.php ON line 18


Help?

6 antwoorden

Gesponsorde links
Offline Abbas - 16/09/2008 15:03
Avatar van Abbas Gouden medaille

Crew .NET
Moet je niet eerst van het resultaat van je query een array maken en dan gaan gebruiken voor de vergelijking? Zet ook in de regel van in_array() eens je variabele buiten quotes!
  1. if (in_array($lid, $sql))

Offline marten - 16/09/2008 15:09
Avatar van marten Beheerder Er moet inderdaad een PHP.net: mysql_fetch_array uitgevoerd worden.
Offline Abbas - 16/09/2008 15:12
Avatar van Abbas Gouden medaille

Crew .NET
Citaat:
Er moet inderdaad een PHP.net: mysql_fetch_array uitgevoerd worden.
I knew it, although I'm not that much of a PHP-freak! :D
Offline Kr4nKz1n - 16/09/2008 15:33
Avatar van Kr4nKz1n Onbekend Ik weet niet wat je probeert te maken, maar je kan natuurlijk ook WHERE gebruiken.
Offline pimvdmolen - 17/09/2008 17:22 (laatste wijziging 17/09/2008 17:23)
Avatar van pimvdmolen Nieuw lid
Citaat:
Ik weet niet wat je probeert te maken, maar je kan natuurlijk ook WHERE gebruiken.

idd!:

  1. $sql = mysql_query("SELECT leden FROM team WHERE lid!='".$lid."'"); //nu wordt alleen gefilterd op mense die nog nie in dat team zitten
Offline Thomas - 17/09/2008 23:57
Avatar van Thomas Moderator Euh, je kunt toch gewoon controleren of $lid (niet) in de team-tabel voorkomt?

Maar hoe ziet de leden-kolom er uit? Want dit is een beetje een vreemde constructie.

Ik zou een tabel "team" verwachten", en een tabel "speler" of "persoon" oid, en dan een koppeltabel "team_lid" die een speler/persoon aan een team koppelt.

Is de "leden" kolom toevallig een komma-gescheiden string met speler-id's? Dan kun je beter een query uitvoeren met de SQL-functie LOCATE, en dan controleren of deze resultaten heeft of niet... Maar dat is een beetje een kromme constructie.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.238s