Avatar billede BacceDK Juniormester
08. maj 2001 - 15:47 Der er 12 kommentarer og
2 løsninger

hmm kan ik loge overskuge det længere ;((

hejsa all jeg har her en søge formular hvor brugerne skal kunne indtaste nogle data og der skal derefter komme resultalet ud, meen jeg gik lige kold, er der en der gidder lave selve søgefunktionen til denne formular ??

<div align=\"center\"><table border=\"0\" cellpadding=\"3\" cellspacing=\"3\" width=\"60%\">
    <tr>
        <td width=\"110%\"><form method=\"post\" action=\"soeg.php\" align=\"center\">
            <p>&nbsp;&nbsp;&nbsp;&nbsp; <br>
            <div align=\"center\"><table border=\"0\" cellpadding=\"4\" width=\"100%\">
                <tr>
                    <td width=\"50%\"><p><font face=\"Verdana\" size=\"1\" color=\"black\"><b><br>
                        Det jeg s&oslash;ger er:&nbsp;&nbsp;&nbsp;&nbsp;</b></font></td>
                    <td width=\"50%\"><p><font face=\"Verdana\" size=\"1\" color=\"black\"><b><select
                        name=\"kon\">
                        <option selected value=\"mand\">Mand</option>
                        <option value=\"kvinde\">Kvinde</option>
                        <option value=\"par\">Par</option></select> </b></font></td>
                </tr>
                <tr>
                    <td width=\"50%\"><p><font face=\"Verdana\" size=\"1\" color=\"black\"><b>Personen
                        skal v&aelig;re mellem</b></font></td>
                    <td width=\"50%\"><p><font face=\"Verdana\" size=\"1\" color=\"black\"><b><input
                        type=\"text\" name=\"alder1\" size=\"2\"> &aring;r og <input
                        type=\"text\" name=\"alder2\" size=\"2\"> &aring;r </b></font></td>
                </tr>
                <tr>
                    <td width=\"50%\"><p><font face=\"Verdana\" size=\"1\" color=\"black\"><b>Personen
                        skal v&aelig;re mellem</b></font></td>
                    <td width=\"50%\"><p><font face=\"Verdana\" size=\"1\" color=\"black\"><b><input
                        type=\"text\" name=\"hojde\" size=\"2\"> cm og <input type=\"text\"
                        name=\"hojde2\" size=\"2\"> cm h&oslash;j </b></font></td>
                </tr>
                <tr>
                    <td width=\"50%\"><p><font face=\"Verdana\" size=\"1\" color=\"black\"><b>Personen
                        skal v&aelig;re</b></font></td>
                    <td width=\"50%\"><p><font face=\"Verdana\" size=\"1\" color=\"black\"><b><select
                        name=\"a_sexorientering\">
                        <option selected value=\"alle\">Alle</option>
                        <option value=\"Heterosexuel\">Heterosexuel</option>
                        <option value=\"Homosexuel\">Homosexuel</option>
                        <option value=\"Bisexuel\">Bisexuel</option>
                        <option value=\"Transsexuel\">Transsexuel</option></select>
                        </b></font></td>
                </tr>
                <tr>
                    <td width=\"50%\"><p><font face=\"Verdana\" size=\"1\" color=\"black\"><b>Personen
                        skal have bop&aelig;l i</b></font></td>
                    <td width=\"50%\"><p><font face=\"Verdana\" size=\"1\" color=\"black\"><b><select
                        name=\"a_landsdel\">
                        <option selected value=\"K&oslash;benhavn\">K&oslash;benhavn</option>
                        <option value=\"Stork&oslash;benhavn\">Stork&oslash;benhavn</option>
                        <option value=\"Nordsj&aelig;lland\">Nordsj&aelig;lland</option>
                        <option value=\"Sydsj&aelig;lland\">Sydsj&aelig;lland</option>
                        <option value=\"&Oslash;vrige Sj&aelig;lland\">&Oslash;vrige Sj&aelig;lland</option>
                        <option value=\"Lolland/Falster\">Lolland/Falster</option>
                        <option value=\"Hele Sj&aelig;lland\">Hele Sj&aelig;lland</option>
                        <option value=\"Fyn\">Fyn</option>
                        <option value=\"Nordjylland\">Nordjylland</option>
                        <option value=\"Sydjylland\">Sydjylland</option>
                        <option value=\"Midtjylland\">Midtjylland</option>
                        <option value=\"&Oslash;stjylland\">&Oslash;stjylland</option>
                        <option value=\"Vestjylland\">Vestjylland</option>
                        <option value=\"Hele Jylland\">Hele Jylland</option>
                        <option value=\"Alle\">Alle</option></select> </b></font></td>
                </tr>
                <tr>
                    <td width=\"50%\"><p><font face=\"Verdana\" size=\"1\" color=\"black\"><b>Personens
                        sexinteresse</b></font></td>
                    <td width=\"50%\"><p><font face=\"Verdana\" size=\"1\" color=\"black\"><b><select
                        name=\"a_sexinteresse\">
                        <option selected value=\"Alle\">Alle</option>
                        <option value=\"Alle former for sex\">Alle former for sex</option>
                        <option value=\"Almindelig sex\">Almindelig sex</option>
                        <option value=\"Analsex\">Analsex</option>
                        <option value=\"Film/video optagelser\">Film/video optagelser</option>
                        <option value=\"Lak/l&aelig;der\">Lak/l&aelig;der</option>
                        <option value=\"Gruppesex\">Gruppesex</option></select>
                        </b></font></td>
                </tr>
                <tr>
                    <td width=\"50%\"><p><font face=\"Verdana\" size=\"1\" color=\"black\"><b>Hvor
                        mange profiler &oslash;nskes vist ?</b></font></td>
                    <td width=\"50%\"><p><font face=\"Verdana\" size=\"1\" color=\"black\"><b><select
                        name=\"antal\">
                        <option selected value=\"1\">10 Profiler</option>
                        <option value=\"2\">20 Profiler</option>
                        <option value=\"4\">40 Profiler</option></select> pr.
                        side .</b></font></td>
                </tr>
            </table></div></td>
    </tr>
    <tr>
        <td width=\"100%\" align=\"right\"><p align=\"center\"><font face=\"Verdana\"
            size=\"1\" color=\"black\"><b><input type=\"submit\" name=\"B1\" value=\"S&oslash;g nu\">
            &nbsp; </b></font></td>
    </tr>
</table></div>
</form>

100 points til den vendlige :))

indate.
Avatar billede alvion Nybegynder
08. maj 2001 - 19:05 #1
Hmm... YADSS (Yet Another Dating/Sex Site)

Jeg formoder at du har en eller anden database, som du ønsker at søge i. Det er nødvendigt at se den, inden jeg kan svare.
Avatar billede BacceDK Juniormester
08. maj 2001 - 19:48 #2
hmm hvis du bare bruger select name variablen i mysql skal jeg nok selv rette det til

indate
Avatar billede alvion Nybegynder
08. maj 2001 - 20:29 #3
???

Det kan jeg da ikke. Jeg skal da vide, om de forskellige kriterier (køn, landsdel, etc.) er gemt som strenge, tal eller fremmednøgler til andre tabeller.
Avatar billede alvion Nybegynder
08. maj 2001 - 20:30 #4
Der er jo væsentlig forskel på at skrive

SELECT * FROM person WHERE koen = \'mand\'

eller

SELECT * FROM person WHERE koen = 1

hvis du nu har defineret 1 = mand, 2 = kvinde etc.
Avatar billede BacceDK Juniormester
08. maj 2001 - 20:34 #5
hvis du nu ser på select name\'erne er der ingen der er i tal og netop derfor sagde jeg at du kunne bruge dem da de næsten er ens med dem i min database og jeg retter selv det hele til

indate
altså ingen tal :))
Avatar billede alvion Nybegynder
08. maj 2001 - 21:19 #6
Ok, frit fra leveren

soeg.php
--------------
<?php

$sql = \"select * from person \";
$sql .= \"where kon = \'${HTTP_POST_VARS[\"kon\"]}\' \";
$sql .= \"and alder >= ${HTTP_POST_VARS[\"alder1\"]} \";
$sql .= \"and alder <= ${HTTP_POST_VARS[\"alder2\"]} \";
$sql .= \"and hojde >= ${HTTP_POST_VARS[\"hojde\"]} \";
$sql .= \"and hojde <= ${HTTP_POST_VARS[\"hojde2\"]} \";
if ($HTTP_POST_VARS[\"a_sexorientering\"] != \"alle\")
    $sql .= \"and a_sexorientering = \'${HTTP_POST_VARS[\"a_sexorientering\"]}\' \";
if ($HTTP_POST_VARS[\"a_landsdel\"] != \"alle\")
    $sql .= \"and a_landsdel= \'${HTTP_POST_VARS[\"a_landsdel\"]}\' \";
if ($HTTP_POST_VARS[\"a_sexinteresse\"] != \"alle\")
    $sql .= \"and a_sexinteresse = \'${HTTP_POST_VARS[\"a_sexinteresse\"]}\' \";

$antal = $HTTP_POST_VARS[\"antal\"] * 10;

$sql .= \"limit $antal \";


$con = mysql_connect($host, $username, $password);
$res = mysql_db_query($dbname, $sql) or die(mysql_error());
while ($row = mysql_fetch_array($res)) {
    echo $row[\"navn\"];
    etc...
}
mysql_free_result($res);
?>
Avatar billede BacceDK Juniormester
08. maj 2001 - 21:31 #7
hmm nu skriver du sådan her
if ($HTTP_POST_VARS[\"a_sexorientering\"] != \"alle\")
    $sql .= \"and a_sexorientering = \'${HTTP_POST_VARS[\"a_sexorientering\"]}\' \";
hvad så hvis det ik er sat på \"alle\" ???
Avatar billede alvion Nybegynder
08. maj 2001 - 22:11 #8
Hvis den er sat på \"alle\", er det lige meget hvad db-feltet indeholder, og dermed skal SQL-stumpen IKKE tilføjes.

Hvis derimod at select\'en ikke er sat til \"alle\", så skal kun records, hvor feltet er lig med det valgte, udtrækkes, og dermed tilføjes SQL-stumpen.
Avatar billede BacceDK Juniormester
08. maj 2001 - 22:52 #9
hmm får hele tiden denne fejl, lige meget hvad jeg skriver ;((
query was empty
her har du den som den står nu

<?php
require(\"configuration.php\");
$con = mysql_connect(localhost, $dbuser, $dbpass);
$res = mysql_db_query($database, $sql) or die(mysql_error());
while ($row = mysql_fetch_array($res)) {
$sql = \"select * from chat_user\";
$sql .= \"where user_kon = ${HTTP_POST_VARS[\"kon\"]} \";
$sql .= \"and user_alder >= ${HTTP_POST_VARS[\"alder1\"]} \";
$sql .= \"and user_alder <= ${HTTP_POST_VARS[\"alder2\"]} \";
$sql .= \"and user_hojde >= ${HTTP_POST_VARS[\"hojde\"]} \";
$sql .= \"and user_hojde <= ${HTTP_POST_VARS[\"hojde2\"]} \";
if ($HTTP_POST_VARS[\"sexorien\"] != \"alle\")
    $sql .= \"and user_sexorien = \'${HTTP_POST_VARS[\"sexorien\"]}\' \";
if ($HTTP_POST_VARS[\"landsdel\"] != \"alle\")
    $sql .= \"and user_landsdel= \'${HTTP_POST_VARS[\"landsdel\"]}\' \";
if ($HTTP_POST_VARS[\"sexint\"] != \"alle\")
    $sql .= \"and user_sexint = \'${HTTP_POST_VARS[\"sexint\"]}\' \";
$antal = $HTTP_POST_VARS[\"antal\"] * 10;
$sql .= \"limit $antal \";
mysql_free_result($res);
}
?>
Avatar billede alvion Nybegynder
09. maj 2001 - 05:18 #10
Ja det kan jeg godt forstå du gør. :-)

Du skal generere SQL-sætningen INDEN du bruger den:



<?php
require(\"configuration.php\");

$con = mysql_connect(localhost, $dbuser, $dbpass);

$sql = \"select * from chat_user\";
$sql .= \"where user_kon = ${HTTP_POST_VARS[\"kon\"]} \";
$sql .= \"and user_alder >= ${HTTP_POST_VARS[\"alder1\"]} \";
$sql .= \"and user_alder <= ${HTTP_POST_VARS[\"alder2\"]} \";
$sql .= \"and user_hojde >= ${HTTP_POST_VARS[\"hojde\"]} \";
$sql .= \"and user_hojde <= ${HTTP_POST_VARS[\"hojde2\"]} \";
if ($HTTP_POST_VARS[\"sexorien\"] != \"alle\")
    $sql .= \"and user_sexorien = \'${HTTP_POST_VARS[\"sexorien\"]}\' \";
if ($HTTP_POST_VARS[\"landsdel\"] != \"alle\")
    $sql .= \"and user_landsdel= \'${HTTP_POST_VARS[\"landsdel\"]}\' \";
if ($HTTP_POST_VARS[\"sexint\"] != \"alle\")
    $sql .= \"and user_sexint = \'${HTTP_POST_VARS[\"sexint\"]}\' \";
$antal = $HTTP_POST_VARS[\"antal\"] * 10;
$sql .= \"limit $antal \";

$res = mysql_db_query($database, $sql) or die(mysql_error());
while ($row = mysql_fetch_array($res)) {
  // Her udskriver du dine resultater, f.eks:
  echo $row[\"name\"] . \"<br>\";
  echo $row[\"kon\"] . \"<br>\";
  echo $row[\"alder\"] . \"<br>\";
}

mysql_free_result($res);
?>
Avatar billede BacceDK Juniormester
09. maj 2001 - 13:36 #11
hmm
You have an error in your SQL syntax near \'= Mand and user_alder >= 21 and user_alder <= 100 and user_hojde >= 160 and user\' at line 1
???
Avatar billede alvion Nybegynder
09. maj 2001 - 16:00 #12
:-)

$sql .= \"where user_kon = ${HTTP_POST_VARS[\"kon\"]} \";

Der mangler apostroffer \' rundt om variablen

$sql .= \"where user_kon = \'${HTTP_POST_VARS[\"kon\"]}\' \";
Avatar billede BacceDK Juniormester
09. maj 2001 - 17:06 #13
nope det var ik fejlen, den er der stadi You have an error in your SQL syntax near \'= \'Mand\' and user_alder >= 21 and user_alder <= 100 and user_hojde >= 160 and user\' at line 1
Avatar billede BacceDK Juniormester
13. maj 2001 - 14:22 #14
hmm snupper selv de 30 point, dem måtte jeg ofre i et andet spm for at få skidtet til at funke
(sorry)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester