Dropdown vraag na het vullen met sql gegevens.
Pagina: « vorige 1 2 3 4 volgende »
Dat wil ik ook , maar wat ik ook probeer is niet wat ik zoek.
Die link wat ik gaf heeft 3 's 4 pagina's nodig om te werken, maar ik wil dat maar op 1 pagina en tis een hoop typen en dat voor maar eigenlijk een dropdown.
Quote:
Die link wat ik gaf heeft 3 's 4 pagina's nodig om te werken, maar ik wil dat maar op 1 pagina en tis een hoop typen en dat voor maar eigenlijk een dropdown.
Begrijp ik dit nou goed, dit is dus niet zozeer een ontwerpoverweging waarbij alles visueel op één pagina "zonder verversen" wordt geregeld, maar meer de overweging "omdat ik alles op één pagina stop is het minder typwerk voor de programmeur"? :)
Zoekfunctionaliteit wordt al redelijk snel ingewikkeld. Het is de kunst om je data in de database zo te organiseren dat je deze ook weer terug kunt vinden en dat je vervolgens een zoekpaneel kunt maken waarmee je heel snel kunt filteren en sorteren. En ja, dat kost wat moeite, maar dan heb je ook wat :).
Ik zou in eerste instantie simpel beginnen, dat AJAX-gedoe kun je altijd later nog toevoegen. Omdat het zoekfunctionaliteit betreft, zou ik er persoonlijk voor kiezen om dingen via de querystring ($_GET) door te geven (method="GET"). En als je meerdere dropdowns hebt waarbij de waarden van elkaar afhankelijk zijn, zou je als de waarde van zo'n dropdown verandert de pagina kunnen herladen. Van de page-refresh zou bijna niets gemerkt moeten worden omdat je queries niet bepaald superzwaar zijn of wat dan ook.
Als je wilt kan ik hier wel een opzetje voor maken, maar er zijn al een aantal voorbeelden geplaatst die je in de goede richting zouden moeten sturen.
Klopt door omstandigheden en werk enz. is dit verwatert.
@Thomas.:
Als je mij met een opzetje zou kunnen helpen , zou ik dit erg waarderen.
Mijn pagina stelt eigenlijk niets voor kwa typewerk, maar mijn lay-out was ik blij mee en die wilde ik graag eigenlijk zo houden.
Ik zal in tussen tijd de boel opnieuw met al jullie hint en links doorspitten.
Kleine opmerking van mijn kant, om te testen heb ik die laatste link van mij van https://www.phpzag.com/ajax-drop-down-selection-data-load-with-php-mysql/ maar helaas krijg ik geen foutmelding maar ook geen data te zien, weet niet wat hier nu fout gaat.
Mogelijk geeft het PHP-script een verkeerde waarde terug, of mis je jouw jQuery library. Het kan veel oorzaken hebben die eenvoudig te debuggen zijn
Gewijzigd op 17/08/2018 15:39:24 door - Ariën -
van die link of van mijn eigen pagina?
De link naar jouw pagina, daar gaat het toch mis? ;-)
Ik heb dus die 4 pagina's gemaakt met alle connectie gegevens juist ingevuld.
Hij laat geen fout zien alleen die dropdown wat bij die code ook is , maar als ik op de dropdown klik zou ik gegevens moeten zien erin zoals op die site, maar ik zie dus niks.
Dan moet je debuggen met je browser. En kijken met de developers-tools of er überhaupt wel een asynchrone request eruit gaat, en wat die stuurt.
Quote:
Mijn pagina stelt eigenlijk niets voor kwa typewerk, maar mijn lay-out was ik blij mee en die wilde ik graag eigenlijk zo houden.
Sidenote: dit geeft mogelijk aan dat je organisatorisch een aantal dingen zou moeten splitsen? Enerzijds heb je een paginaopbouw die over verschillende pagina's hetzelfde is, dit is je hoofdlayout of "maintemplate".
Anderzijds heb je de functionaliteit die specifiek is voor een pagina: een overzicht, een artikel, een contactformulier, een zoekpagina. Deze zitten vaak in aparte stukken code (includes of klasses).
Het is inderdaad niet de bedoeling dat je je hoofdlayout overal copypaste in pagina's met specifieke functionaliteit.
Scriptingtalen zijn bij uitstek geschikt om pagina's dynamisch op te bouwen zodat je alle onderdelen ook maar één keer hoeft te maken en vervolgens ook maar op één plek hoeft te onderhouden.
Gewijzigd op 17/08/2018 16:22:31 door Thomas van den Heuvel
Als ik de pagina inspecteer, zie ik dat hij een database error geeft.
Ben aan het kijken wat anders is, maar is allemaal in orde.
Wat voor melding, en welke relevante code hoort erbij.
Deze code in index.php achteraan plakken.
Code (php)
1
2
3
4
5
2
3
4
5
<div id="display">
<div class="row" id="heading" style="display:none;"><h3><div class="col-sm-4"><strong>Employee Name</strong></div><div class="col-sm-4"><strong>Age</strong></div><div class="col-sm-4"><strong>Salary</strong></div></h3></div><br>
<div class="row" id="records"><div class="col-sm-4" id="emp_name"></div><div class="col-sm-4" id="emp_age"></div><div class="col-sm-4" id="emp_salary"></div></div>
<div class="row" id="no_records"><div class="col-sm-4">Plese select employee name to view details</div></div>
</div>
<div class="row" id="heading" style="display:none;"><h3><div class="col-sm-4"><strong>Employee Name</strong></div><div class="col-sm-4"><strong>Age</strong></div><div class="col-sm-4"><strong>Salary</strong></div></h3></div><br>
<div class="row" id="records"><div class="col-sm-4" id="emp_name"></div><div class="col-sm-4" id="emp_age"></div><div class="col-sm-4" id="emp_salary"></div></div>
<div class="row" id="no_records"><div class="col-sm-4">Plese select employee name to view details</div></div>
</div>
Ik krijg geen gevulde dropdown, dus gaat al mis voor jou aanvulling.
Ik heb nu al 8 keer alles nagelopen en nog zie ik in de bron een database fout.
Kan iemand die code anders eens testen want ik zie het niet.
Toevoeging op 17/08/2018 16:47:37:
Het het gevonden, maar het stond ook niet bij hem in het de code, de db_connectie file was niet included in de index file.
Nu werkt het!!
Gewijzigd op 17/08/2018 16:49:30 door Pascal Schuffelers
Dat kon je toch ook uit de error afleiden, hoop ik ;)?
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<div class="page-header">
<h3>
<select id="employee">
<option value="" selected="selected">Select Employee Name</option>
<?php
include('db_connect.php');
$sql = "SELECT id, employee_name, employee_salary, employee_age FROM employee LIMIT 10";
?>
<h3>
<select id="employee">
<option value="" selected="selected">Select Employee Name</option>
<?php
include('db_connect.php');
$sql = "SELECT id, employee_name, employee_salary, employee_age FROM employee LIMIT 10";
?>
Edit:
UBB-tags gefixxed
Gewijzigd op 17/08/2018 17:34:47 door - Ariën -
Adoptive Solution op 17/08/2018 17:03:28:
Je moet ook nog een include toevoegen. Zie dit deel
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<div class="page-header">
<h3>
<select id="employee">
<option value="" selected="selected">Select Employee Name</option>
<?php
include('db_connect.php');
$sql = "SELECT id, employee_name, employee_salary, employee_age FROM employee LIMIT 10";
?>
<h3>
<select id="employee">
<option value="" selected="selected">Select Employee Name</option>
<?php
include('db_connect.php');
$sql = "SELECT id, employee_name, employee_salary, employee_age FROM employee LIMIT 10";
?>
Had ik ook al opgemerkt in mijn antwoord voor dat u hem gaf ;)
Toevoeging op 17/08/2018 17:07:07:
@Ariën:
Ja hij gaf een fout aan van de db, was steeds naar de commando's aan het kijken van sqli totdat ik in de index ging testen omdat alles goed was en daar dus die include niet tegen kwam.
Toevoeging op 17/08/2018 17:21:52:
Oke mensen, het werkt dus nu naar behoren en ook nog in mijn smaak.
Ik ga kijken of ik dit krijg ingebouwd in mijn pagina.
Ik laat jullie weten als het mij gelukt is, maar wat ik zo kan zien zou dat wel lukken , hoop ik ;)
Edit:
UBB-tags gefixxed
Gewijzigd op 17/08/2018 17:35:19 door - Ariën -
Fijn dat het gelukt is. Mocht je nog vragen hebben, dan horen we het graag.
Jullie hebben zoveel geduld voor iemand en leggen het zo goed mogelijk uit, hierword ik gewoon blij van.
Toevoeging op 18/08/2018 01:13:44:
Vraagje.
Ik heb nu wat ik uiteindelijk wilde, de gekozen naam word gelijk gebruikt om de rest waarde uit te lezen en alle waarde te tonen.
Maar nu zit ik met het volgende.
Volgens dat script maak ik nu gebruik van
Dat houd nu wel in dat ik hier geen var voor heb.
Hoe kan ik die id nu gebruiken om dat om te zetten naar een var zodat ik die naar een andere pagina weer kan sturen?
Wat ik dus bedoel, eerst gebruikte ik dit.:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
$stmt = $connection->prepare("SELECT DISTINCT Name1 FROM specs WHERE Active = 'y' group by Name1");
$stmt->execute();
$stmt->bind_result($receptnames);
while($stmt->fetch()){
echo "<option value = '$receptnames' method='post'>$receptnames</option>";
}
$stmt->close();
$connection->close();
?>
$stmt->execute();
$stmt->bind_result($receptnames);
while($stmt->fetch()){
echo "<option value = '$receptnames' method='post'>$receptnames</option>";
}
$stmt->close();
$connection->close();
?>
</select>
$receptnames werd dan in geheugen gezet door wat jullie adviseerde.:
Nu word deze code gebruikt.:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<select name="prod" id="employee">
<option value="" disabled selected="selected">Selecteer Product</option>
<?php
$sql = "SELECT DISTINCT Id, Name1 FROM specs WHERE Active = 'y' group by Name1";
$resultset = mysqli_query($conn, $sql) or die("database error:". mysqli_error($conn));
while( $rows = mysqli_fetch_assoc($resultset) ) {
?>
<option value="<?php echo $rows["Id"]; ?>"><?php echo $rows["Name1"]; ?></option>
<?php } ?>
</select>
<option value="" disabled selected="selected">Selecteer Product</option>
<?php
$sql = "SELECT DISTINCT Id, Name1 FROM specs WHERE Active = 'y' group by Name1";
$resultset = mysqli_query($conn, $sql) or die("database error:". mysqli_error($conn));
while( $rows = mysqli_fetch_assoc($resultset) ) {
?>
<option value="<?php echo $rows["Id"]; ?>"><?php echo $rows["Name1"]; ?></option>
<?php } ?>
</select>
Nu ben ik dus die $receptnames kwijt en word dus niet meer door de andere pagina ontvangen.
Moet ik soms daar ook het principe gaan gebruiken van die extra pagina's?
Ik hoop dat ik mijn twijfelachtige vraag goed heb uitgelegd aan jullie.
Moet ik iets doen met zo iets?