Hoe SQL aanspreken aan de hand van keuze selectbox?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Pascal Schuffelers

Pascal Schuffelers

11/03/2019 19:03:20
Quote Anchor link
Ik heb een vraag.
Ik vul een selectbox met gegevens uit een db door middel van sql.
Nu maak ik een keuze uit een van de items uit de selectbox en die waarde vang ik op via een functie.
De regel van de selectbox is.:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<select name="prod" id="employee" onclick="updateBottomValue(this.value);"  style="width: 245px;">


Met deze functie.:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
  <script>
  function updateBottomValue(selectedvalue) {
         document.getElementById("selectedValue").innerHTML=selectedvalue;
}
  </script>


Het ID nummer wat gekozen item uit de database heeft gehaald word dan getoond in deze code.:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<span id="selectedValue"></span>  


Nu zou ik graag willen, of het kan en hoe het moet zou ik niet weten, zodra een keuze uit de selectbox word gemaakt de gegevens van het geselecteerde item uit de db gehaald worden zodat ik die kan gebruiken in bv een label of zo.

Zou mij iemand op weg willen helpen, ik heb namelijk geen idee of dit wel kan, zonder dat ik een submit button gebruik.
 
PHP hulp

PHP hulp

25/11/2024 01:09:13
 
- Ariën  -
Beheerder

- Ariën -

11/03/2019 19:13:14
Quote Anchor link
Aan de hand van de value kan je die toch als $_POST['naam_van_selectbox'] weer gebruiken in een database?
Denk wel aan escaping tegen SQL-injection. Als je het helemaal luxe wilt aanpakken, dan kan je het in een AJAX-request verwerken zodat het refresh-loos is.
 
Pascal Schuffelers

Pascal Schuffelers

11/03/2019 19:18:54
Quote Anchor link
Als ik die $_POST['naam_van_selectbox'] gebruik (uiteraard aangepast op de naam van mijn selectbox) zie ik niks komen , dus met
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $_POST['naam_van_selectbox'] ;?>

Kan natuurlijk ook zijn dat ik je vraag niet begrijp als mijn antwoord er naast schiet.

Wat ik lees krijg ik die $_post info pas als ik via submit knop druk , maar dat zou ik, indien mogelijk, niet willen hebben
Gewijzigd op 11/03/2019 19:43:10 door Pascal Schuffelers
 
Frank Nietbelangrijk

Frank Nietbelangrijk

11/03/2019 19:45:03
Quote Anchor link
>> Nu zou ik graag willen, of het kan en hoe het moet zou ik niet weten, zodra een keuze uit de selectbox word gemaakt de gegevens van het geselecteerde item uit de db gehaald worden zodat ik die kan gebruiken in bv een label of zo.

Even zien je genereert HTML voor je pagina/formulier met behulp van PHP. De html/het formulier wordt weergegeven in de browser. De gebruiker kan het formulier invullen/wijzigen. Wil je nu op dezelfde pagina nieuwe content "ergens tussen plaatsen" die van de server af moet komen dan zul je Javascript een nieuw request moeten laten doen. We noemen dit een AJAX-request. Het antwoord dat van een AJAX-request teruggestuurd wordt door je server kan vervolgens weer gebruikt worden binnen je javascript.
Gewijzigd op 11/03/2019 19:51:08 door Frank Nietbelangrijk
 
Pascal Schuffelers

Pascal Schuffelers

11/03/2019 19:48:35
Quote Anchor link
Nou , zal het proberen uit te leggen, wat ik zou willen bereiken.
Ik vul een selectbox met producten.
Die producten staan in een db met hieraan gekoppelde max en min waarden.
Ik zou graag willen dat als ze een product kiezen, op de achtergrond de max en min waarde word onthouden zodat ik bij andere inputs gebruik kan maken van die min en max grenzen om bv dat vak in te kleuren als ze erbuiten vallen.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

11/03/2019 19:52:41
Quote Anchor link
Je zou hiervoor data attributen kunnen gebruiken... zal even een voorbeeldje flansen
 
Pascal Schuffelers

Pascal Schuffelers

11/03/2019 19:56:17
Quote Anchor link
Als dat geen probleem is graag.
Dit is het laatste stukje dat ik nog graag erin zou willen hebben en weet ook totaal niet hoe ik hieraan zou moeten beginnen.
Google doorzocht echter je komt zoveel tegen , maar net niet het geen wat ik zou willen zien.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

11/03/2019 20:17:37
Quote Anchor link
html:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<label>
  <input type="checkbox" data-min="10" data-max="100" id="chk1">
  keuze 1
</label>

Javascript:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
var chk1 = document.getElementById("chk1");
  chk1.onchange  = function() {
    alert(
      "min: " + chk1.dataset.min +
      " max: " + chk1.dataset.max );
};


Live voorbeeld: https://codepen.io/anon/pen/ZPXQKv
 
Pascal Schuffelers

Pascal Schuffelers

12/03/2019 06:45:28
Quote Anchor link
Ik heb uw code eens bekeken maar dat komt haast op het zelfde uit wat ik nu heb, al is dat met die min en max erbij wel erg interessant.
Echter dan heb ik nog niet , dat als een keuze gemaakt word uit de select dropdown , de sql gegevens worden uitgeladen en zodat ik de bv de min/max kan gebruiken in bv het voorbeeld van u.

@Ariën.: is dit wat jij bedoeld? Link
Gewijzigd op 12/03/2019 07:23:12 door Pascal Schuffelers
 
Frank Nietbelangrijk

Frank Nietbelangrijk

12/03/2019 18:40:43
Quote Anchor link
>> @Ariën.: is dit wat jij bedoeld?

Dat is AJAX inderdaad. Ajax gebruik je het makkelijkste met behulp van JQuery lijkt mij.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
$.ajax({
  url: "test.php",
}).done(function(data) {
  // laat in de console zien wat test.php voor antwoord geeft ...
  console.log(data);
});


JQuery is een javascript library die je eerst moet includen.. Lees meer
Gewijzigd op 12/03/2019 18:42:48 door Frank Nietbelangrijk
 
Pascal Schuffelers

Pascal Schuffelers

12/03/2019 19:05:17
Quote Anchor link
Maar stel ik zou te werk gaan zoals die link wat ik gaf, is er dan een mogelijkheid om de gevonden waarden direct te laten reageren op een input veld zodat die kleurt als hij niet goed zou zijn?
Dus even kijkend vanuit dat voorbeeld in die link.
Ik heb een input veld naast die dropdown staan, ik kies peter griffin en in de input field type ik 45 , kan die dan rood gekleurd worden omdat hij onder die 41 is?
 
- Ariën  -
Beheerder

- Ariën -

12/03/2019 19:23:40
Quote Anchor link
En war komt die controle dan vandaan? Komt die hardcoded in je JavaScript? Of moet dit via een serverside (bijv. PHP) script worden gecontroleerd?
 
Pascal Schuffelers

Pascal Schuffelers

12/03/2019 19:50:23
Quote Anchor link
Uh ja lol, dat is net niet wat ik weet , hoe dat moet.
Welke kant uit maakt mij niet zoveel uit , als het maar mogelijk is en hoe ik het moet doen en uiteraard is het wel mogelijk.
 
- Ariën  -
Beheerder

- Ariën -

12/03/2019 20:25:45
Quote Anchor link
Ik neem aan dat het een probeerseltje is? En dan zou je het prima in JavaScript kunnen regelen.

https://www.w3schools.com/js/js_validation.asp

Maar voor hetzelfde geldt zou je het ook kunnen vergelijken met iets uit een database.
Gewijzigd op 12/03/2019 20:29:19 door - Ariën -
 
Pascal Schuffelers

Pascal Schuffelers

12/03/2019 21:26:28
Quote Anchor link
tis inderdaad een probeer setje want als het niet mogelijk is , ga ik dat ook niet doen denk ik.
Kun je eigenlijk in java, of iets dergelijks wel een sql command uitvoeren , net zoals je dat doet in php?
 
- Ariën  -
Beheerder

- Ariën -

12/03/2019 21:30:08
Quote Anchor link
Ik weet niet of je weet dat Java en Javascript twee verschillende dingen zijn, die je niet met elkaar kan vergelijken. Maar ik vermoed dat je JavaScript bedoelt? In dat geval: Nee, JavaScript is clientside en wordt door de browsers uitgevoerd.
(Met NodeJS zou het kunnen, maar dan moet je een NodeJS server draaien.)

Als je echt Java bedoelt, dan kan dat:
https://www.javatips.net/api/resin-master/modules/quercus/src/com/caucho/quercus/lib/db/Mysqli.java
Maar de ondersteuning van Java voor browsers valt behoorlijk diep weg. En ik denk dat je dit ook niet bedoelt.
Gewijzigd op 12/03/2019 21:31:43 door - Ariën -
 
Pascal Schuffelers

Pascal Schuffelers

13/03/2019 18:23:12
Quote Anchor link
Ik denk dat ik het bijna heb, echter zit ik nog even met een klein probleempje.
Echter dit wil ik morgen nog even zelf proberen en lukt het mij niet zal ik hem hier even neerzetten waar ik nog in vast hang dan.

Toevoeging op 14/03/2019 14:32:40:

Ik ben weer terug zoals aangeven.
Het uitlezen van de waarde die ik nodig heb als een product uit de lijst geladen word is gelukt, echter zit ik nog met een klein probleempje.
Ik heb al van alles geprobeerd, maar ik zal het wel uiteraard over het hoofd zien.

Het is mijn bedoeling dat als het input veld word ingevuld dat gelijk word gecontroleerd of het geen wat ik invul ook binnen mijn grenzen zit.
Om dit te kunnen doen heb ik het voorbeeld geprobeerd die op deze link te vinden is.

Echter als ik iets fout invul blijft het rood, maar zodra ik het geen intyp wat er staat word hij groen, dat is goed , echter als ik dan weer iets fout intyp gebeurd niks meer.

Nu kan ik mij voorstellen dat hij dit doet omdat het in (document).ready(function() staat, maar zet ik dit in a onchange van de input field doet hij dit hetzelfde.

Kan mij iemand helpen hoe het wel kan? dus als ik iets fouts intyp dat het rood blijft en als het goed is groen is, maar als weer iets fout is weer rood word, wat het voorbeeld dus niet meer doet.

De code die ik gebruik ziet er zo uit.:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
var get_value = $("#KleurL").val();
    if (isNaN(get_value) || get_value < <?php echo $_SESSION['testRColorLMin']; ?> || get_value > <?php echo $_SESSION['testRColorLMax']; ?>) {
     $("#KleurL").addClass('red');
  }  else { $("#KleurL").addClass('green');  } ;
 
Pascal Schuffelers

Pascal Schuffelers

19/03/2019 11:12:17
Quote Anchor link
Hoe krijg ik dit opgevangen?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if (isNaN(get_value) || get_value <?php echo '<div class="col-sm-4" id="emp_RColorbMin"></div>' ?> || get_value <?php echo '<div class="col-sm-4" id="emp_RColorbMax"></div>' ?>) {


Ik heb problemen dat hij die id waarde niet gebruikt.
Gewijzigd op 19/03/2019 11:12:42 door Pascal Schuffelers
 
- Ariën  -
Beheerder

- Ariën -

19/03/2019 11:14:58
Quote Anchor link
Kijk eens naar je HTML-broncode?

Ikzelf ben geen voorstander om direct PHP te voeren aan JavaScript. Ikzelf zet het liever in een JS-variabele op mijn site, en voer die variabele dan aan het javascriptje. Zo kan je die ook netjes verwerken in een .js file.
 
Pascal Schuffelers

Pascal Schuffelers

20/03/2019 05:55:50
Quote Anchor link
- Ariën - op 19/03/2019 11:14:58:
Kijk eens naar je HTML-broncode?


Waar moet ik naar kijken dan?

Quote:
Ikzelf ben geen voorstander om direct PHP te voeren aan JavaScript. Ikzelf zet het liever in een JS-variabele op mijn site, en voer die variabele dan aan het javascriptje. Zo kan je die ook netjes verwerken in een .js file.


Ja dat kan ik mij enigszins wel begrijpen.
Dit is voor mij nog de enigste hindernis die ik moet afhandelen en dan ben ik klaar.
De code werkt super zo , ook elke item die ik kies uit de dropdown passen zich de waarde gelijk aan in bv
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<div class="col-sm-4" id="emp_RColorbMin"></div>


Echter om die waarde dan ook te gebruiken in bv de controle of in een inputfield een waarde tussen de min en max invalt lukt mij niet.
Hoe de code echter gemaakt zou moeten dat ik dit kan gebruiken, zou voor mij niets uit maken , als ik het maar krijg opgevangen en kan gebruiken zodat ik eindelijk dat stuk krijg afgerond, ben al dik een week ermee bezig en begin aardig mijn haren hierdoor nu uit te trekken.
 
- Ariën  -
Beheerder

- Ariën -

20/03/2019 16:37:11
Quote Anchor link
Hoe ziet je HTML-code er nu uit? Misschien ontbreekt er een waarde van PHP waardoor het niet werkt?
 

Pagina: 1 2 volgende »



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.