Array achter een aangegeven variabele

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Koen M

Koen M

24/09/2018 11:59:19
Quote Anchor link
Beste mensen,

Ik ga dit zo goed mogelijk verwoorden. Ik ben nu bezig met het maken van een domein checker, die is inmiddels werkende. Maar ik wil er nog een functie bij plaatsen namelijk dat als je bijv. (mediamarkt.) intypt dat je automatisch een rij krijgt zodra je een PUNT neerzet met domein namen die in de array staan. Dus bijvoorbeeld ik type in 'mediamarkt.' dan zie je 'mediamarkt.com, mediamarkt.nl, mediamarkt.net' en zodra ik 'mediamarkt.n' intype dat je alleen nog de domein namen ziet met de .nl en .net aan het einde. Ik hoop wat informatie hierover te krijgen en alvast bedankt.

Met vriendelijke groet,

Koen Mooijman
 
PHP hulp

PHP hulp

26/04/2024 16:18:28
 
Frank Nietbelangrijk

Frank Nietbelangrijk

24/09/2018 12:02:15
 
Koen M

Koen M

24/09/2018 12:41:48
Quote Anchor link
Beste Frank,

Zoiets zoek ik alleen wil ik die variabelen pas zien zodra ik de "."/PUNT intype, wat moet ik daarvoor doen om dat voor elkaar te krijgen.

Mvg,
Koen
 
Thomas van den Heuvel

Thomas van den Heuvel

24/09/2018 14:16:56
Quote Anchor link
Meestal worden autocompletes getriggered door een bepaalde hoeveelheid tekst in te typen, of na elke toetsaanslag. In jouw geval dient deze pas te gaan zoeken als je wat tekst plus een punt hebt ingetypt. Je zult dan dus elke toetsaanslag moeten controleren of aan deze conditie is voldaan (bijvoorbeeld met een reguliere expressie waarmee je een tekstpatroon kunt herkennen), en dan pas gaan zoeken naar mogelijke resultaten.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

24/09/2018 16:24:28
Quote Anchor link
JQuery UI zijn autocomplete kun in of uitschakelen. Je krijgt dan zoiets:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <title>autocomplete demo</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.12.4.js"></script>
  <script src="//code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
</head>
<body>
 
<label for="autocomplete">probeer google. of phphulp. :</label>
<input id="autocomplete">
 
</body>
<script>
$('#autocomplete').autocomplete({
  // verander source naar iets als "search.php" om de data van de server af te halen, zie de documentatie op https://jqueryui.com/autocomplete/#remote
  source: [ "google.com", "google.nl", "phphulp.nl" ],
  // disable de autocomplete in eerste instantie
  disabled: true,
  // minimaal drie karakters inclusief de punt
  minLength: 3
})

$('#autocomplete').keyup(function(e) {
  // de tot dusver ingetypte tekst
  var searchtext = $(this).val();
  
  // als er een punt (.) aangetroffen wordt in de tekst
  if (searchtext.indexOf('.') > -1)
  {
    // enable de autocomplete
    $(this).autocomplete('enable');
    // zoek vervolgens direct op de tekst die we hebben tot dusver
    $(this).autocomplete('search', searchtext);
  } else {
    // indien er geen punt meer in de tekst aangetroffen wordt disable dan de autocomplete
    $(this).autocomplete('disable');
  }
});
</script>
</html>


Je zal waarschijnlijk de data vanaf de server willen laden met AJAX. Hiervoor moet je dan de optie "source" een URI geven in plaats van een array. Bijvoorbeeld source: search.php. search.php moet dan een json array teruggeven met gevonden resultaten.
search.php wordt aangeroepen met een $_GET variabele 'term'. Bij wijze van een testje:

search.php:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$term
= strtolower(trim(strip_tags($_GET['term'])));
echo json_encode(array($term.'com', $term.'nl', $term.'org'));
?>


Toevoeging op 24/09/2018 16:26:38:

Live demo: https://codepen.io/anon/pen/KxLqay
 
Koen M

Koen M

25/09/2018 10:32:04
Quote Anchor link
Beste Frank,

Heel erg bedankt alleen ik krijg een melding - Notice: Undefined index: term in D:\school\logica\htdocs\script\index.php on line 2
["com","nl","org"] - . Wat moet ik doen om dat te kunnen fixen?

mvg,
Koen
 
- Ariën  -
Beheerder

- Ariën -

25/09/2018 10:35:16
Quote Anchor link
Welke URL gebruik je?
 
Koen M

Koen M

25/09/2018 10:41:33
 
- Ariën  -
Beheerder

- Ariën -

25/09/2018 10:45:16
Quote Anchor link
Je vergeet je aanroep naar je zoek-term in de URL:
http://localhost/script/index.php?term=avocado

Maar via de autocomplete moet dit vanzelf gaan. Ik neem aan dat je de stappen hebt gevolgd om het via AJAX op te halen i.p.v.
vaste array.
Gewijzigd op 25/09/2018 10:50:54 door - Ariën -
 
Koen M

Koen M

25/09/2018 11:23:34
Quote Anchor link
Ook met een vaste array doet hij het niet en dat is raar want opzich zou ik het met een array kunnen doen want ik heb maar een paar domeinen nodig. Maar het enige dat hij correct is het gene wat bij het stukje code: source: [ "google.com", "google.nl", "phphulp.nl" ], staat. Hoe krijg ik het voor elkaar dat hij alleen de .com/.nl/.net bijv krijg als ik iets anders intype dan wat er in de source staat.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

25/09/2018 11:25:33
Quote Anchor link
Open eerst eens http://localhost/script/index.php?term=niks en zie er eens wat json uit te krijgen
 
Koen M

Koen M

25/09/2018 15:45:40
Quote Anchor link
Ik krijg er niks uit, het enige wat ik eruit krijg is wat er in de source: [ ] staat. dus search.php. Dus als ik search. intype krijg ik eronder inderdaad search.php. Dus hij triggered het wel na de punt en na minimaal 3 tekens. Maar alleen wat er in de source staat als tekst.
 
Thomas van den Heuvel

Thomas van den Heuvel

25/09/2018 16:00:26
Quote Anchor link
Koen M op 25/09/2018 15:45:40:
Maar alleen wat er in de source staat als tekst.

search.php geeft de broncode terug? Is er lokaal dan wel een webserver actief die PHP ondersteunt?
 
Koen M

Koen M

25/09/2018 16:07:39
Quote Anchor link
Ik neem aan van wel, ik gebruik XAMPP namelijk en mijn domein checker werkt ook en die is geheel met PHP geprogrammeerd. Het erge is als ik ernaar zoek op internet is er niks over te vinden. Terwijl ik het al bij veel websites zie.

Toevoeging op 25/09/2018 16:30:55:

Laatmaar! ik heb hem jongens, Heel erg bedankt voor jullie hulp!
 
- Ariën  -
Beheerder

- Ariën -

25/09/2018 18:18:53
Quote Anchor link
Wat was de oplossing? :-)
 
Koen M

Koen M

25/09/2018 18:49:21
Quote Anchor link
source: [ "google.com", "google.nl", "phphulp.nl" ], ik had daarvan dus
source: [ "search.php" ] van gemaakt maar je moest er blijkbaar source: "search.php" van te maken dus zonder de []. En daarna deed hij het gewoon.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.