zoeken in database
teug vinden ook, maar, Ik probeer een script te maken/vinden dat voor een ieder(werkgever) te bedienen is(nu maak ik steed voor ieder id een html
scriptje)ik weet dat het anders kan maar hoe?
ik ben nog een newbie.
hans
Welk script? Wat moet het script kunnen? Hoe oud ben je? Wat zijn je hobby's? Wat is je favoriete vakantiebestemming?
een table vullen waarin ik alles dan kan terug vin-
den van een klant, database is al klaar en werkt goed.voor ieder los id schrijf ik een stukje php script.(ik ben 52 jaar jong)(Turkeije)(hobby zijn te veel om op te sommen (geen voetbal))
hans.
Maar laten we naar je script gaan kijken. Kun je een stukje hierheen plakken?
Jan:
Hoe oud ben je? Wat zijn je hobby's? Wat is je favoriete vakantiebestemming?
@Jan: Wordt dit jóuw nieuwe hobby? LOL
Da,s nou de hele ellende ik weet niet waar ik moet beginnen,Ik heb me gek gegoogle'd maar ik vind geen aansluiting
<html>
<body bgcolor="#D3D3D3">
Code (php)
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
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
<?
$server = "localhost";
$user = "root";
$database = "hans";
$id = 1;
Mysql_connect ($server, $user);
mysql_select_db($database);
$qry=mysql_query (" SELECT * FROM hans WHERE hans_id = $id");
$post=mysql_fetch_object ($qry);
$plaats1=$post->plaats1;
$plaats2=$post->plaats2;
$plaats3=$post->plaats3;
$plaats4=$post->plaats4;
$week=$post->week;
$hans_id=$post->hans_id;
$datum=$post->datum;
$mat=$post->mat;
Print "<center><table cellpading=3 ><u><i>Order/produktie controle formulier (id-nr</u></i>
. $hans_id)" . "</table></center>" ;
print
"<Table border=1 table bordercolor=#D3D3D3 cellpadding=6><tr><Td >Weeknummer:" . $week .
"</td><td bgcolor=aqua>Ordernummer :" . $plaats1 .
"</td><td >Productcode :" . $plaats2 .
"</td><td >Productnaam :" . $plaats3 .
"</td><td >Machine nr:" . $plaats4 . "</td></table>";
print "<Table border=1 table bordercolor=#D3D3D3 cellpadding=6><tr>
<Td >Datum:" . $datum .
"</td><td bgcolor=aqua>Materiaalnaam :" . $mat ;
?>
$server = "localhost";
$user = "root";
$database = "hans";
$id = 1;
Mysql_connect ($server, $user);
mysql_select_db($database);
$qry=mysql_query (" SELECT * FROM hans WHERE hans_id = $id");
$post=mysql_fetch_object ($qry);
$plaats1=$post->plaats1;
$plaats2=$post->plaats2;
$plaats3=$post->plaats3;
$plaats4=$post->plaats4;
$week=$post->week;
$hans_id=$post->hans_id;
$datum=$post->datum;
$mat=$post->mat;
Print "<center><table cellpading=3 ><u><i>Order/produktie controle formulier (id-nr</u></i>
. $hans_id)" . "</table></center>" ;
"<Table border=1 table bordercolor=#D3D3D3 cellpadding=6><tr><Td >Weeknummer:" . $week .
"</td><td bgcolor=aqua>Ordernummer :" . $plaats1 .
"</td><td >Productcode :" . $plaats2 .
"</td><td >Productnaam :" . $plaats3 .
"</td><td >Machine nr:" . $plaats4 . "</td></table>";
print "<Table border=1 table bordercolor=#D3D3D3 cellpadding=6><tr>
<Td >Datum:" . $datum .
"</td><td bgcolor=aqua>Materiaalnaam :" . $mat ;
?>
</tr>
</table>
</body>
(sorry had ruzie met de kat)
Je database heet hans, klopt het dan wel dat je je tabel in de database ook hans hebt genoemd?
Op de manier die je nu gebruikt haal je maar één rij gegevens uit de database.
Je eerste print moet zo zijn. Zie de kleur van je post.
Code (php)
1
2
3
2
3
<?php
Print "<center><table cellpading=3 ><u><i>Order/produktie controle formulier (id-nr</u></i>" . $hans_id .")</table></center>" ;
?>
Print "<center><table cellpading=3 ><u><i>Order/produktie controle formulier (id-nr</u></i>" . $hans_id .")</table></center>" ;
?>
Edit: Php-tags
Gewijzigd op 17/10/2005 22:12:00 door - SanThe -
een apart scriptje +/- 2500 orders op jaar basis)
Ik snap niet precies wat je bedoelt. Wil je alle records zien?
een regel met bv input ordernummer als iemand van mijn collega,s alleen dat ordernummer intikt
krijgt hij/zij de bijbehorende data te lezen.
nu maak ik een php scripje met bv id1,id2,id3 enz
hans
SanThe:
@Jan: Wordt dit jóuw nieuwe hobby? LOL
Jan:
Hoe oud ben je? Wat zijn je hobby's? Wat is je favoriete vakantiebestemming?
@Jan: Wordt dit jóuw nieuwe hobby? LOL
Ja, als iemand weinig info geeft! ;-))
sorry, ik zit voor het eerst in mijn leventje op een forum.het geplakte stukje script roep ik op met een scripje in html,ik verander id1->id2 een maak dan een nieuw 2de scriptje enz,ik wil graag proberen om met een script alles te bedienen.Ik kan alleen een beetje met een pc omgaan mijn collega,s kijken mij of ze water zien branden
weet iemand misschien een link waar ik info kan krijgen over het schrijven van een zoek script?
Code (php)
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?php
// zoekfunctie
$sql = "Select * From leden Where voornaam Like ".$zoek." And Naam Like ".$zoek." And woonplaats Like ".$zoek." ";
$sql = "Select * From leden Where voornaam Like ".$search." And Naam Like ".$search." And achternaam Like ".$search." ";
en je kan zoveel velden toevoegen als je wilt !!
en dan maak je een formulier en daar maak je een text veld in en die noem je search,
das dus je invoer en een submit butten
// beveiligen van zoekfunctie!!
// Verder is het verstandig om alle invoer na een ; te negeren,
// omdat je anders bijv. 'zoekterm;DELETE * FROM leden' kan typen. Hierdoor wordt de tabel geleegd.
$zoek = htmlentities($_POST['zoek']); ipv $zoek = $_POST['zoek'];
if (!isset($_POST['zoek']))
{
echo "<form action='admin-zoek.php' method = 'POST'>";
echo "<table width=\"25%\" align=\"center\" border=\"1\" cellpadding=\"1\" cellspacing=\"1\" class=tekst>";
echo "<tr><td align=\"center\">Vul de naam in die je zoekt.</td></tr>";
echo "<tr><td align=\"right\"><input type = 'text' name = 'zoek'></td></tr>";
echo "<tr><td align=\"right\"><input type = 'submit' name = 'submit' value = 'zoek'></td></tr>";
echo "</table>";
echo "</form>";
// er is nu "or" want dan wordt er op alles gezocht dus geen "and"
$zoek = $_GET['zoek'];
$sql = "Select * From leden Where loginnaam Like '%".$zoek."%' or woonplaats Like '%".$zoek."%' or voornaam Like '%".$zoek."%' or naam Like '%".$zoek."%'";
$data = mysql_query($sql) or die("kan op het moment geen connectie maken met de database");
// weghalen voor een test want dan kan je zien wat er daadwerkelijk gebeurd!!
//echo $sql;
if (mysql_num_rows($data) > 0)
{
echo "<table width=\"75%\" align=\"center\" border=\"1\" cellpadding=\"1\" cellspacing=\"1\" class=tekst>";
echo "<tr><td align=\"center\" colspan=\"5\">Hieronder het resultaat waar de zoekopdracht <b>".$zoek."</b> in voor komt</td></tr>";
echo "<tr><td><b>ID</td><td><b>Loginnaam</td><td><b>Voornaam</td><td><b>Achternaam</td><td><b>Woonplaats</td></tr>";
while($row = mysql_fetch_array($data))
{
echo "<tr>";
echo "<td>".$row['user_id']."</td>";
echo "<td>".$row['loginnaam']."</td>";
echo "<td>".$row['voornaam']."</td>";
echo "<td>".$row['naam']."</td>";
echo "<td>".$row['woonplaats']."</td>";
echo "</tr>";
}
echo "</table>";
}
else
{
echo "<table width=\"75%\" align=\"center\" border=\"1\" cellpadding=\"1\" cellspacing=\"1\" class=tekst>";
echo "<tr><td align=\"center\">Helaas deze zoekopdracht komt niet in het databestand voor!</td></tr>";
echo "</table>";
}
}
?>
// zoekfunctie
$sql = "Select * From leden Where voornaam Like ".$zoek." And Naam Like ".$zoek." And woonplaats Like ".$zoek." ";
$sql = "Select * From leden Where voornaam Like ".$search." And Naam Like ".$search." And achternaam Like ".$search." ";
en je kan zoveel velden toevoegen als je wilt !!
en dan maak je een formulier en daar maak je een text veld in en die noem je search,
das dus je invoer en een submit butten
// beveiligen van zoekfunctie!!
// Verder is het verstandig om alle invoer na een ; te negeren,
// omdat je anders bijv. 'zoekterm;DELETE * FROM leden' kan typen. Hierdoor wordt de tabel geleegd.
$zoek = htmlentities($_POST['zoek']); ipv $zoek = $_POST['zoek'];
if (!isset($_POST['zoek']))
{
echo "<form action='admin-zoek.php' method = 'POST'>";
echo "<table width=\"25%\" align=\"center\" border=\"1\" cellpadding=\"1\" cellspacing=\"1\" class=tekst>";
echo "<tr><td align=\"center\">Vul de naam in die je zoekt.</td></tr>";
echo "<tr><td align=\"right\"><input type = 'text' name = 'zoek'></td></tr>";
echo "<tr><td align=\"right\"><input type = 'submit' name = 'submit' value = 'zoek'></td></tr>";
echo "</table>";
echo "</form>";
// er is nu "or" want dan wordt er op alles gezocht dus geen "and"
$zoek = $_GET['zoek'];
$sql = "Select * From leden Where loginnaam Like '%".$zoek."%' or woonplaats Like '%".$zoek."%' or voornaam Like '%".$zoek."%' or naam Like '%".$zoek."%'";
$data = mysql_query($sql) or die("kan op het moment geen connectie maken met de database");
// weghalen voor een test want dan kan je zien wat er daadwerkelijk gebeurd!!
//echo $sql;
if (mysql_num_rows($data) > 0)
{
echo "<table width=\"75%\" align=\"center\" border=\"1\" cellpadding=\"1\" cellspacing=\"1\" class=tekst>";
echo "<tr><td align=\"center\" colspan=\"5\">Hieronder het resultaat waar de zoekopdracht <b>".$zoek."</b> in voor komt</td></tr>";
echo "<tr><td><b>ID</td><td><b>Loginnaam</td><td><b>Voornaam</td><td><b>Achternaam</td><td><b>Woonplaats</td></tr>";
while($row = mysql_fetch_array($data))
{
echo "<tr>";
echo "<td>".$row['user_id']."</td>";
echo "<td>".$row['loginnaam']."</td>";
echo "<td>".$row['voornaam']."</td>";
echo "<td>".$row['naam']."</td>";
echo "<td>".$row['woonplaats']."</td>";
echo "</tr>";
}
echo "</table>";
}
else
{
echo "<table width=\"75%\" align=\"center\" border=\"1\" cellpadding=\"1\" cellspacing=\"1\" class=tekst>";
echo "<tr><td align=\"center\">Helaas deze zoekopdracht komt niet in het databestand voor!</td></tr>";
echo "</table>";
}
}
?>
Er staat nu bovenin je script: $id = 1
In de query die je daarna doet zoek je naar dat id, dus hij zal altijd hetzelfde record vinden.
Ik denk dat je het beste een formulier kunt maken waar gebruikers zelf een id kunnen invullen. Dus zo:
<form method="post" action="">
<p>id: <input id="id" name="id" type="text" value=""></p>
<p><input id="go" name="go" type="submit" value="go"</p>
</form>
Dan doe je bovenin je pagina:
if (isset ($_POST['go'])) {
$id = $_POST['id'];
}
Kun je het tot zover een beetje volgen?
En je verandert die $id met de hand???
Als dat je probleem is, is de oplossing simpel.
Maak een klein formuliertje (post) waarin je het id kan ingeven. Dat vang je dan op met:
Is dit wat je bedoelt?
@Jan: We zitten weer geheel op één lijn, en zoals gewoonlijk ben je weer net even sneller. ;-)
als de data base af is zou ik graag willen dat men op ordernummer(deze is namelijk uniek in ons bedrijf)kan zoeken en dat de gegevens dan in het formulier te zien zijn.(dank voor jullie geduld)
Wat heb je daar al van? Heb je al een formulier waarin je de gegevens wilt laten zien. En hoe had je het in gedachten? Een enkel invulvakje voor het ordernummer? Probeer toch even een duidelijke situatieschets te maken van wat je precies wilt.
SanThe:
@Jan: We zitten weer geheel op één lijn, en zoals gewoonlijk ben je weer net even sneller. ;-)
Inderdaad geheel op één lijn ;-) We moeten maar eens samen aan een project gaan werken!