Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   [php] zoeken en 2 tabellen samenvoegen (https://forum.scholieren.com/showthread.php?t=1233549)

Destralak 23-07-2005 14:17

[php] zoeken en 2 tabellen samenvoegen
 
ik heb hier een GENIAAL (al zeg ik het zelf en ik ben een vrij beginneling op php gebied) scriptje gemaakt, waar men naar de username kan zoeken ($entry) en men de bijbehorende usernames krijgen die erop lijken (de "WHERE `username` LIKE '%$entry%'"-clausule). Hij haalt hierbij ook nog het 'house'-gedeelte op uit een andere tabel en geeft ze weer in een overzichtelijke tabel, die zo georganiseerd is:

<td>Username<td>House<tr>

voor ELKE rij.


De tabellen hebben de volgende structuur (bij mij):

------------------------------
TABEL "userdata"
Id
Username
------------------------------
TABEL "landdata"
Id
House
------------------------------

De code (misschien kunnen jullie hem ook nog eens gebruiken, ik gebruik hem op http://www.sadoc.nl):

PHP-code:

<? if (empty($_POST)) { ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><link rel="stylesheet" href="../sadoc.css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Search User</title>
</head>
<body bgcolor="#14080A">
<form action="<? echo($_SERVER['PHP_SELF']); ?>" method="post">
Username: <input type="text" name="entry"><input type="submit" value="Search">
</form>
</body>
</html>
<? }else{ 
include("databaseverbinding.inc.php");
$entry = $_POST['entry'];
$sql = "SELECT id,username FROM `userdata` WHERE `username` LIKE '%$entry%'"; //id en username ophalen uit tabel userdata
$result = mysql_query($sql) or die (mysql_error());
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><link rel="stylesheet" href="../sadoc.css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Search User</title>
</head>
<body bgcolor="#14080A">
<hr width="90%">
<table border="0">
<th align="center">Name<th align="center">House<tr>
<?
$sql2 = "SELECT `house` FROM `landdata` WHERE "; //sql-instructie voorbereiden voor opzoeken huis
$userlist = array(mysql_num_rows($result)); //aantal rijen ophalen uit username-id-ophalen-query
$a=-1;
while($row = mysql_fetch_object($result))
    {
      $a++; //nu is $a=0
      $sql2 .= "`id`='{$row->id}' OR "; //voor elke rij deze zin toevoegen, alle id's ophalen, dadelijk voor elk 'house'
      $userlist[$a] = $row->username; //aan array $userlist aan elke dimensie de username toevoegen
    }
$sql2 = substr ($sql2, 0, (strlen($sql2)-4)); // het " OR "-gedeelte weghalen uit de zoekstring bij de laatste id-searcher
$result = mysql_query($sql2) or die (mysql_error());

$a=-1;
while($row2 = mysql_fetch_object($result))
    {
    $a++; //hier bij de array $userlist elk nummer ($userlist[0],$userlist[1] etc.) de username ophalen en weergevenn
      echo '<td><a href="#" onclick="(de code die je wilt gebruiken met je username)">'.stripslashes(htmlspecialchars($userlist[$a])).'</a>'; //username weergeven bij elk resultaat
      echo '<td>'.stripslashes(htmlspecialchars($row2->house)).'<tr>'; //het huis bij de betreffende username
    }

?>
</table>
</body>
</html>
<? } ?>


Triloxigen 23-07-2005 14:23

En wat moeten we er precies mee..

Ulfheðin 23-07-2005 15:38

YES!

HIER WAS IK ALTIJD AL NAAR OP ZOEK.

DANKJE.­

eddie 23-07-2005 16:29

jij bent echt l33t _/o\_

Nigo 31-07-2005 23:39

Nou "geniale" meneer, iemand mag je wel eens een spoedcursus design patterns geven. Model View Controller pattern anyone? om maar te beginnen. Database abstractie zou je ook goed staan... en zo kan ik nog wel uren doorgaan zonder zelfs maar een regel van je code echt gelezen te hebben.

Mr.Hypert€xt 01-08-2005 01:06

Goh, geweldig script zeg






**mompelt iets over basisdingetjes**

Snees 01-08-2005 10:15

Citaat:

Ninh schreef op 01-08-2005 @ 00:39 :
Nou "geniale" meneer, iemand mag je wel eens een spoedcursus design patterns geven. Model View Controller pattern anyone? om maar te beginnen. Database abstractie zou je ook goed staan... en zo kan ik nog wel uren doorgaan zonder zelfs maar een regel van je code echt gelezen te hebben.
Give the kid a break. We weten dat jij de held bent met je studie Technische Informatica, maar ik ga ook niet een eerste klas binnenvallen en daar schreeuwen dat ze niets weten over de regel van L'Hospital.

Dr HenDre 01-08-2005 10:20

wat een doelloos topic, ten eerste is hier totaal niks geniaals aan en ten tweede is het totaal niet netjes.
je escaped je input niet eens

Nigo 01-08-2005 11:11

Citaat:

Snees schreef op 01-08-2005 @ 11:15 :
Give the kid a break. We weten dat jij de held bent met je studie Technische Informatica, maar ik ga ook niet een eerste klas binnenvallen en daar schreeuwen dat ze niets weten over de regel van L'Hospital.
Het gaat erom dat er iets totaal nutteloos gepost wordt onder het motto 'geniaal'. Een interessante uitspraak die zeker mijn aandacht trekt... en als het dan niet geniaal blijkt te zijn dan schroom ik niet daar iets van te zeggen.
En owja, ik neem aan dat je eerste klas van de middelbare school bedoelt? Want L'Hospital wordt wel degelijk uitgelegd het eerste jaar op beta WO.

Ulfheðin 01-08-2005 11:30

Citaat:

Ninh schreef op 01-08-2005 @ 12:11 :
Het gaat erom dat er iets totaal nutteloos gepost wordt onder het motto 'geniaal'. Een interessante uitspraak die zeker mijn aandacht trekt... en als het dan niet geniaal blijkt te zijn dan schroom ik niet daar iets van te zeggen.
En owja, ik neem aan dat je eerste klas van de middelbare school bedoelt? Want L'Hospital wordt wel degelijk uitgelegd het eerste jaar op beta WO.

Interessant zijn != interessant doen.

micra 05-08-2005 21:37

Als je error_reporting op E_ALL zet, krijg je volgens mij nu notice over $_POST. Het is een array, en kan zo niet gecontroleerd worden op leegheid.
Code:

if( isset($_POST["zoeken"])) {

}

Kun je bijvoorbeeld beter gebruiken, vergeet hier dan niet om je submit button de naam zoeken te geven.

Manuzhai 06-08-2005 13:28

Niet een bijzonder nuttig topic, met een braque script.


Alle tijden zijn GMT +1. Het is nu 16:26.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.