Hallo, ik heb een script waarmee ik debiteurgegevens opzoek in mijn database, maar nu geeft hij, als ik een naam intyp niet de resultaten weer die overeenkomen met mijn trefwoord, maar hij zet gewoon de hele query neer
wat doe ik verkeerd..?

dit is mijn script;

    // Bouw query op met gekozen zoekveld en trefwoord
$sql = "SELECT
             veld9, veld15,  veld121, veld19, veld23, veld35, veld17, veld40, veld46, veld44, veld37, veld31, veld27, veld85, veld121, veld11   from debiteur_bsmdb
        UNION
        SELECT 
             veld9, veld15,  veld121, veld19, veld23, veld35, veld17, veld40, veld46, veld44, veld37, veld31, veld27, veld85, veld121, veld11   from debiteur_bsumdb
        UNION 
        SELECT 
             veld9, veld15,  veld121, veld19, veld23, veld35, veld17, veld40, veld46, veld44, veld37, veld31, veld27, veld85, veld121, veld11   from debiteur_tsmdb
        WHERE
            '".$_POST['veld']."' LIKE '".$_POST['trefwoord']."'";

		// Voer de query uit op de database
$rs = mysql_query($sql) or trigger_error(mysql_error());    
    
?>

<table width="600" border="0" align="center" cellpadding="2" cellspacing="2">
    <tr>
        <td align="left" width="125" class="style7">Debiteurennr</td>
        <td align="left" width="125" class="style7">Naam</td>
        <td align="left" width="200" class="style7">Adres</td>
        <td align="left" width="200" class="style7">Woonplaats</td>
    </tr>
</table>

<?

		// Bepaal aantal records
		$aantal_records = mysql_num_rows($rs);


		// Als er nul records zijn gevonden, geef melding.
		if( $aantal_records == 0 )
    {
        echo 'Er zijn geen gegevens gevonden die aan uw zoekcriteria voldoen.';
    }
		if (strlen($_POST["trefwoord"]) < 1)
    {
        echo 'U dient minimaal 1 karakter in te vullen.';
    }
    else
    {
        // Ga resultaten weergeven
		    while($row = mysql_fetch_array($rs))
			  {
?>
<br>
            <table width="600" border="0" align="center" cellpadding="2" cellspacing="2">              
        <td width="125" align="left"><b><a href="opslaan.php?veld9=<?=urlencode($row['veld9']);?>"><?=$row['veld9'];?></a></b></td>
        <td width="125" align="left"><?=$row['veld15'];?></td>
        <td width="200" align="left"><?=$row['veld19'];?></td>
        <td width="200" align="left"><?=$row['veld35'];?></td>
            </table>
            <?
    }
    }
    echo '</table>';
}

mysql_close();
?>
</center>

</body>
</html>
Mooi boek, maar doe eens een stukje relavante code.
heb het javascript weggehaald aan de voorkant van het script, maar de rest is toch wel relevant, omdat je met een formulier te maken hebt en zo moeilijk is het nu ook weern iet om hem te ontcijferen
SanThe bedoeld dat we geen zin hebben om 157 regels code door te lezen.
waar denk je zelf dat de fout zit?
Wat een instelling zeg; geen zin om 157 regels code door te lezen. Als je de vraag wél wil doorlezen dan zie je dat het gewoon in de query zit; en je ziet -zonder te lezen- ook dat er maar één query is. Ik word hier zo langzamerhand een beetje moe van.


sql = "SELECT
             veld9, veld15,  veld121, veld19, veld23, veld35, veld17, veld40, veld46, veld44, veld37, veld31, veld27, veld85, veld121, veld11   from debiteur_bsmdb
        UNION
        SELECT 
             veld9, veld15,  veld121, veld19, veld23, veld35, veld17, veld40, veld46, veld44, veld37, veld31, veld27, veld85, veld121, veld11   from debiteur_bsumdb
        UNION 
        SELECT 
             veld9, veld15,  veld121, veld19, veld23, veld35, veld17, veld40, veld46, veld44, veld37, veld31, veld27, veld85, veld121, veld11   from debiteur_tsmdb
        WHERE
            '".$_POST['veld']."' LIKE '".$_POST['trefwoord']."'";


Het probleem is dat ie alles selecteert vandebiteur_tsmdb ?
ik denk zelf in de query, maar die ziet er naar mijn idee goed uit
Dus daarom post ik mijn hele script mocht de fout gewoon ergens anders zitten, zodat jullie daar niet meer naar hoeven te vragen...

maar hier dan een compactere versie;


$sql = "SELECT
             veld9, veld15,  veld121, veld19, veld23, veld35, veld17, veld40, veld46, veld44, veld37, veld31, veld27, veld85, veld121, veld11   
        from debiteur_bsmdb
        UNION
        SELECT 
             veld9, veld15,  veld121, veld19, veld23, veld35, veld17, veld40, veld46, veld44, veld37, veld31, veld27, veld85, veld121, veld11
        FROM debiteur_bsumdb
        UNION 
        SELECT 
             veld9, veld15,  veld121, veld19, veld23, veld35, veld17, veld40, veld46, veld44, veld37, veld31, veld27, veld85, veld121, veld11   
        FROM debiteur_tsmdb
        WHERE
            '".$_POST['veld']."' LIKE '".$_POST['trefwoord']."'";

		// Voer de query uit op de database
$rs = mysql_query($sql) or trigger_error(mysql_error());    

<?

		// Bepaal aantal records
		$aantal_records = mysql_num_rows($rs);


		// Als er nul records zijn gevonden, geef melding.
		if( $aantal_records == 0 )
    {
        echo 'Er zijn geen gegevens gevonden die aan uw zoekcriteria voldoen.';
    }
		if (strlen($_POST["trefwoord"]) < 1)
    {
        echo 'U dient minimaal 1 karakter in te vullen.';
    }
    else
    {
        // Ga resultaten weergeven
		    while($row = mysql_fetch_array($rs))
			  {
?>
<br>
            <table width="600" border="0" align="center" cellpadding="2" cellspacing="2">              
        <td width="125" align="left"><b><a href="opslaan.php?veld9=<?=urlencode($row['veld9']);?>"><?=$row['veld9'];?></a></b></td>
        <td width="125" align="left"><?=$row['veld15'];?></td>
        <td width="200" align="left"><?=$row['veld19'];?></td>
        <td width="200" align="left"><?=$row['veld35'];?></td>
            </table>
Nee hij selecteert alleen alles van debiteur_Bsmdb..
en hij filtert mijn trefwoord niet
LIKE '".$_POST['trefwoord']."'

wordt

LIKE '%".$_POST['trefwoord']."%'
@Burrug
Wat is de bedoeling dat er allemaal geselecteerd wordt?
PHPerik schreef op 27.03.2006 12:31
Wat een instelling zeg; geen zin om 157 regels code door te lezen.


Ik zit nu wel op mijn werk, dus mijn baas betaalt. Even snel iets tussendoor okee, maar boeken lezen is gewoon te veel.
SanThe schreef op 27.03.2006 12:35
PHPerik schreef op 27.03.2006 12:31
Wat een instelling zeg; geen zin om 157 regels code door te lezen.


Ik zit nu wel op mijn werk, dus mijn baas betaalt. Even snel iets tussendoor okee, maar boeken lezen is gewoon te veel.
Is dat dan de "fout" van jou of de topicstarter?

Oh, en ik heb ook niet al die code gelezen; als je de vraag goed leest zie je in 2 seconden welk gedeelte van de code je mee te maken hebt. Ik vind het juist fijn dat topicstarter dit allemaal postte, dan kun je dingen uitsluiten.

Reageren