Avatar billede rampagezz Nybegynder
03. august 2004 - 23:03 Der er 14 kommentarer og
1 løsning

if sætning

Hej eksperten.

Jeg har to tabeller. Den ene hedder kundebase og den anden kundeprogram.

"kundebase" har felterne: ID, kundenr, begynderdato, vaegt, bryst, talje, hofte, vlaar, hlaar.

"kundeprogram" har felterne: kundenr, maaldag, maalvaegt, maalbryst, maaltalje, maalhofte, maalvlaar, maalhlaar.

Det skulle gerne være sådan, at når kundenr i tabellen "kundebase" er det samme som kundenr i tabellen "kundeprogram" skal den vise de andre oplysninger der står i record'en. F.eks kundenr i "kundebase" et sat til 2, skal den vise den record i "kundeprogram" hvor kundenr er også er sat til 2.

Min kode ser sådan ud:


<?php require_once('Connections/connection.php'); ?>
<?php
$colname_Recordset1 = "1";
if (isset($_GET['ID'])) {
  $colname_Recordset1 = (get_magic_quotes_gpc()) ? $_GET['ID'] : addslashes($_GET['ID']);
}
mysql_select_db($database_connection, $connection);
$query_Recordset1 = sprintf("SELECT * FROM kundebase WHERE ID = %s", $colname_Recordset1);
$Recordset1 = mysql_query($query_Recordset1, $connection) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);

mysql_select_db($database_connection, $connection);
$query_Recordsetprogram = "SELECT * FROM kundeprogram";
$Recordsetprogram = mysql_query($query_Recordsetprogram, $connection) or die(mysql_error());
$row_Recordsetprogram = mysql_fetch_assoc($Recordsetprogram);
$totalRows_Recordsetprogram = mysql_num_rows($Recordsetprogram);

$currentPage = $HTTP_SERVER_VARS["PHP_SELF"];


$queryString_Recordset1 = "";
if (!empty($HTTP_SERVER_VARS['QUERY_STRING'])) {
  $params = explode("&", $HTTP_SERVER_VARS['QUERY_STRING']);
  $newParams = array();
  foreach ($params as $param) {
    if (stristr($param, "pageNum_Recordset1") == false &&
        stristr($param, "totalRows_Recordset1") == false) {
      array_push($newParams, $param);
    }
  }
  if (count($newParams) != 0) {
    $queryString_Recordset1 = "&" . implode("&", $newParams);
  }
}
$queryString_Recordset1 = sprintf("&totalRows_Recordset1=%d%s", $totalRows_Recordset1, $queryString_Recordset1);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Resultater</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="css/text.css" rel="stylesheet" type="text/css">

</head>

<body>
<table width="620" border="1" align="center" bordercolor="#000099" bgcolor="#CCCCCC">
  <tr>
    <td><table width="619" border="0">
          <tr>
            <td><div align="left" class="style2">1.dag</div></td>
            <td class="style2"><?php echo $row_Recordset1['begynderdato']; ?></td>
            <td><div align="left" class="style2"><span class="style2"><?php echo $row_Recordset1['vaegt']; ?></span> kg</div>  </td>
          <td class="style2"><?php echo $row_Recordset1['bryst']; ?> cm </td>
    <td class="style2"><?php echo $row_Recordset1['talje']; ?> cm </td>
    <td class="style2"><?php echo $row_Recordset1['hofte']; ?> cm </td>
    <td class="style2"><?php echo $row_Recordset1['hlaar']; ?>/<?php echo $row_Recordset1['vlaar']; ?> cm</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
 
<?php
if (kundebase.kundenr == kundeprogram.kundenr) { /*hvis dette er sand skal række nedenunder vises*/
?>
  <tr>
    <td class="oplysninger"><div align="right"></div></td>
    <td>&nbsp; </td>
    <td class="style2"><?php echo $row_Recordsetprogram['maalvaegt']; ?> kg</td>
    <td class="style2"><?php echo $row_Recordsetprogram['maalbryst']; ?> cm</td>
    <td class="style2"><?php echo $row_Recordsetprogram['maaltalje']; ?> cm</td>
    <td class="style2"><?php echo $row_Recordsetprogram['maalhofte']; ?> cm</td>
    <td class="style2"><?php echo $row_Recordsetprogram['maalhlaar']; ?>/<?php echo $row_Recordsetprogram['maalvlaar']; ?> cm</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>
</td>
</tr>
<?php
}
?>
</table>

</body>
</html>

<?php
mysql_free_result($Recordset1);

mysql_free_result($Recordsetprogram);
?>

Håber i kan hjælpe mig.

Hilsen Rampagezz
Avatar billede dejbjerg Nybegynder
04. august 2004 - 12:32 #1
Det enkleste er nok at lave din kundeprogram forspørgsel om så den henter en række svarende til ID, dvs til noget ala:

$query_Recordsetprogram = sprintf("SELECT * FROM kundeprogram WHERE ID = %s", $colname_Recordset1);
Avatar billede dejbjerg Nybegynder
04. august 2004 - 12:35 #2
Ellers kan du pakke din if ind i en while, som chekker alle ID'er i kundeprogram og skriver ud hvis der er en match
Avatar billede rampagezz Nybegynder
04. august 2004 - 12:38 #3
Det er jo ikke ID den skal matche.. Det er kundenr...
Avatar billede dejbjerg Nybegynder
04. august 2004 - 15:10 #4
nåmen så pak din if ind i en while, som chekker kundenummer
Avatar billede rampagezz Nybegynder
04. august 2004 - 15:16 #5
Jeg er rimelig newbee til PHP, så hvis du kunne lave en løkke for mig, så ville jeg være glad..
Avatar billede dejbjerg Nybegynder
05. august 2004 - 08:32 #6
prøv først bare at ændre din query til:

$kundenr = $row_Recordset1['kundenr'];
$query_Recordsetprogram = "SELECT * FROM kundeprogram WHERE kundenr = $kundenr";


ellers noget ala:
$kundenr = $row_Recordset1['kundenr'];
while ($row_Recordsetprogram = mysql_fetch_assoc($Recordsetprogram)) {
    if ($row_Recordsetprogram == $kundenr) {
    ?>
    <tr>
            <td class="oplysninger"><div align="right"></div></td>
            <td>&nbsp; </td>
            <td class="style2"><?php echo $row_Recordsetprogram['maalvaegt']; ?> kg</td>
            <td class="style2"><?php echo $row_Recordsetprogram['maalbryst']; ?> cm</td>
            <td class="style2"><?php echo $row_Recordsetprogram['maaltalje']; ?> cm</td>
            <td class="style2"><?php echo $row_Recordsetprogram['maalhofte']; ?> cm</td>
            <td class="style2"><?php echo $row_Recordsetprogram['maalhlaar']; ?>/<?php             echo $row_Recordsetprogram['maalvlaar']; ?> cm</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
      </tr>
   
    <?php

    }else{
        echo 'ingen oplysninger';
    } // end if else
}// end while
Avatar billede dejbjerg Nybegynder
05. august 2004 - 08:33 #7
Doh!

if ($row_Recordsetprogram['kundenr'] == $kundenr) {
Avatar billede rampagezz Nybegynder
05. august 2004 - 11:01 #8
Den vil stadig ikke... ser koden sådan ud:

-------------------------
Øverste del:

<?php require_once('Connections/connection.php'); ?>
<?php
$colname_Recordset1 = "1";
if (isset($_GET['ID'])) {
  $colname_Recordset1 = (get_magic_quotes_gpc()) ? $_GET['ID'] : addslashes($_GET['ID']);
}
mysql_select_db($database_connection, $connection);
$query_Recordset1 = sprintf("SELECT * FROM kundebase WHERE ID = %s", $colname_Recordset1);
$Recordset1 = mysql_query($query_Recordset1, $connection) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);

mysql_select_db($database_connection, $connection);
$kundenr = $row_Recordset1['kundenr'];
$query_Recordsetprogram = "SELECT * FROM kundeprogram WHERE kundenr = $kundenr";
$Recordsetprogram = mysql_query($query_Recordsetprogram, $connection) or die(mysql_error());
$row_Recordsetprogram = mysql_fetch_assoc($Recordsetprogram);
$totalRows_Recordsetprogram = mysql_num_rows($Recordsetprogram);

$currentPage = $HTTP_SERVER_VARS["PHP_SELF"];



$queryString_Recordset1 = "";
if (!empty($HTTP_SERVER_VARS['QUERY_STRING'])) {
  $params = explode("&", $HTTP_SERVER_VARS['QUERY_STRING']);
  $newParams = array();
  foreach ($params as $param) {
    if (stristr($param, "pageNum_Recordset1") == false &&
        stristr($param, "totalRows_Recordset1") == false) {
      array_push($newParams, $param);
    }
  }
  if (count($newParams) != 0) {
    $queryString_Recordset1 = "&" . implode("&", $newParams);
  }
}
$queryString_Recordset1 = sprintf("&totalRows_Recordset1=%d%s", $totalRows_Recordset1, $queryString_Recordset1);

?>
---------------------------
Nederste del:

<?php
$kundenr = $row_Recordset1['kundenr'];
while ($row_Recordsetprogram = mysql_fetch_assoc($Recordsetprogram)) {
    if ($row_Recordsetprogram['kundenr'] == $kundenr) {
    ?>
    <tr>
            <td class="oplysninger"><div align="right"></div></td>
            <td>&nbsp; </td>
            <td class="style2"><?php echo $row_Recordsetprogram['maalvaegt']; ?> kg</td>
            <td class="style2"><?php echo $row_Recordsetprogram['maalbryst']; ?> cm</td>
            <td class="style2"><?php echo $row_Recordsetprogram['maaltalje']; ?> cm</td>
            <td class="style2"><?php echo $row_Recordsetprogram['maalhofte']; ?> cm</td>
            <td class="style2"><?php echo $row_Recordsetprogram['maalhlaar']; ?>/<?php echo $row_Recordsetprogram['maalvlaar']; ?> cm</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
      </tr>
   
    <?php

    }else{
        echo 'ingen oplysninger';
    } // end if else
}// end while
?>
Avatar billede rampagezz Nybegynder
05. august 2004 - 11:02 #9
Hov der skulle stå, at koden ser sådan ud
Avatar billede rampagezz Nybegynder
05. august 2004 - 11:04 #10
Jeg glemte at sige, at den kommer ikke med nogle fejlmeddelser. Der sker bare ikke noget.
Avatar billede dejbjerg Nybegynder
05. august 2004 - 12:06 #11
Prøv at putte nogle echo sætninger ind, som skriver værdien af dine variable ud efterhånden som den løber igennem koden. Se efter om der er nogle som ikke bliver sat.

echo $_GET[ID];
echo $kundenr;
umiddelbart efter de får tildelt/ændret værdier

eller:
while {$row_Recordset1 = mysql_fetch_assoc($Recordset1)){
echo $row_Recordset1['kundenr'];
} // end while

osv..
Avatar billede dejbjerg Nybegynder
05. august 2004 - 12:10 #12
kyl evt lige nogle <html><body> ind i toppen
og </body></html> i bunden

og husk at opdatere siden i din browser, hvis du har lavet ændringer ;)
Avatar billede rampagezz Nybegynder
05. august 2004 - 12:19 #13
Jeg fandt selv ud af det. Jeg brugte den først jeg selv havde lavet:

<?php
 
  $kundenr1 = $row_Recordset1['kundenr'];
  $kundenr2 = $row_Recordsetprogram['kundenr'];
 
if ($kundenr1 == $kundenr2) { /*hvis dette er sand skal række nedenunder vises*/
?>


Jeg havde bare glemt at definere:

$kundenr1 = $row_Recordset1['kundenr'];
$kundenr2 = $row_Recordsetprogram['kundenr'];

------

Men ellers tak for hjælpen...

Kom bare med et svar, fordi du prøvede...
Avatar billede dejbjerg Nybegynder
05. august 2004 - 12:36 #14
Det er såmænd ligemeget med point, men fint at du fik det til at virke :)
Avatar billede rampagezz Nybegynder
05. august 2004 - 13:03 #15
Ok.
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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