login  Naam:   Wachtwoord: 
Registreer je!
 Forum

substring (Opgelost)

Offline sir_green - 01/09/2007 17:23 (laatste wijziging 01/09/2007 19:01)
Avatar van sir_greenPHP interesse Ik maak gerbruik van de volgende substring

  1. <?php
  2. $ipeerstedeel = substr($_SERVER['REMOTE_ADDR'], 0, 11)."%";
  3. ?>


Maar op de een of andere manier werkt het niet (meer).

Hij moet dus de eerste 11 tekens van het ip adres pakken en de rest willekeurig houden. Dit gebruik ik verder al zoekterm in de volgende query.

  1. <?php
  2. $query = mysql_query("
  3. SELECT id
  4. FROM online
  5. WHERE ip
  6. LIKE '".$ipeerstedeel."'
  7. ");
  8.  
  9. $ipvergelijker = mysql_num_rows($query);
  10. ?>


als het ip adres al voorkomt moet de variabele ipvergelijker dus groter zijn dan 0 waarna ik hem de gegevens laat updaten, anders nieuw toevoegen in de tabel.

Maar op de één of andere manier voegt hij alles opnieuw toe, dus ik doe iets fout. 

4 antwoorden

Gesponsorde links
Offline Rik - 01/09/2007 17:28
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Misschien is 11 een beetje lang, bij mijn ip haalt ie dan nog maar 1 cijfer van m'n ip af...
Offline sir_green - 01/09/2007 18:15
Avatar van sir_green PHP interesse ja is misschien wel een idee, maar daar verhelp je die error alleen niet mee :S
Offline l0c4lh0st - 01/09/2007 18:17 (laatste wijziging 01/09/2007 18:20)
Avatar van l0c4lh0st Nieuw lid Je kan sowieso nooit uit gaan van 11 tekens.

Een IP adres kan 1.1.1.1 zijn, maar ook heel goed 12.12.12.12 of 123.123.123.123.

Je zult dus gewoon moeten kijken waar het laatste puntje zit:
  1. <?php
  2. $sMyIP = '12.3.4.56';
  3. echo substr($sMyIP, 0, strrpos($sMyIP, '.')) . '.%';
  4. ?>


Hak alles van het begin tot het laatste puntje eraf en plak er vervolgens een puntje en een procent teken aan.


Overigens, wat jij wilt doen kun je beter met een iets andere query doen:

  1. <?php
  2. $sSQLFindIP = "SELECT COUNT(1) AS exists FROM ... WHERE ipaddress LIKE '12.34.56.%'";
  3. if (!$rSQLFindIP = mysql_query($sSQLFindIP, $rMyDatabaseConnection))
  4. {
  5. // Help, de query mislukte!
  6. }
  7. else
  8. {
  9. if (mysql_result($rSQLFindIP, 0, 'exists') == 0)
  10. {
  11. // Niet gevonden.
  12. }
  13. else
  14. {
  15. // 1 of meer keer gevonden.
  16. }
  17. }
  18. ?>
Offline sir_green - 01/09/2007 18:48 (laatste wijziging 01/09/2007 19:02)
Avatar van sir_green PHP interesse @ l0c4lh0st ik heb precies gedaan wat je schreef, zal best een verbetering zijn 

maar...

het lost alleen m'n probleem nog niet op :S
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.233s