Avatar billede silmarillion Juniormester
16. april 2009 - 00:01 Der er 7 kommentarer og
1 løsning

PHP billedegalleri

Hej Eksperter,

Jeg er ved at lave et php billedgalleri.

Som det er nu mangler jeg en funktion der gør det muligt, at ændre filterværdien "testgal" i denne sætning:

$query_rspic = "SELECT * FROM billeder WHERE galleri = 'testgal'";

Det skal være sådan at værdien udskiftes med værdien fra et link der trykkes på. fx. "feriebilleder"

Er der nogen der kan hjælpe med hvordan dette kan gøres?

Linket kan være enten på samme side eller på en separat side.

Samlet kode ser således ud.

<?php require_once('../Connections/loge.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;   
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$currentPage = $_SERVER["PHP_SELF"];
mysql_select_db($database_loge, $loge);
$query_rspic = "SELECT * FROM billeder WHERE galleri = 'testgal'";
$rspic = mysql_query($query_rspic, $loge) or die(mysql_error());
$row_rspic = mysql_fetch_assoc($rspic);
$totalRows_rspic = mysql_num_rows($rspic);

$queryString_rspic = "";
if (!empty($_SERVER['QUERY_STRING'])) {
  $params = explode("&", $_SERVER['QUERY_STRING']);
  $newParams = array();
  foreach ($params as $param) {
    if (stristr($param, "pageNum_rspic") == false &&
        stristr($param, "totalRows_rspic") == false) {
      array_push($newParams, $param);
    }
  }
  if (count($newParams) != 0) {
    $queryString_rspic = "&" . htmlentities(implode("&", $newParams));
  }
}
$queryString_rspic = sprintf("&totalRows_rspic=%d%s", $totalRows_rspic, $queryString_rspic);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="thickbox.js"></script>

<link rel="stylesheet" href="thickbox.css" type="text/css" media="screen" />

<!-- InstanceBegin template="/Templates/Loge_Template_1_12_2008.dwt.php" codeOutsideHTMLIsLocked="false" -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- InstanceBeginEditable name="doctitle" -->
<title>Loge Royal! - Danmarks drengerøvsloge nr. 1</title>
<!-- InstanceEndEditable -->
<style type="text/css">
<!--

-->
</style>
<script src="../SpryAssets/SpryMenuBar.js" type="text/javascript"></script>

<link href="../SpryAssets/SpryMenuBarHorizontal(Loge).css" rel="stylesheet" type="text/css" />

<!-- InstanceBeginEditable name="head" --><!-- InstanceEndEditable -->
<link href="../CSS/Royal_Style.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--

-->
</style></head>

<body>
<table width="1000" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td height="650" valign="top" background="../images/LogeroyalNY1.jpg"><table width="1000" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td height="20" colspan="3" valign="top"><table width="635" border="0" align="right" cellpadding="0" cellspacing="0">
          <tr>
            <td height="35"><ul id="MenuBar1" class="MenuBarHorizontal">
                  <li><a href="#" class="MenuBarItemSubmenu">Events</a>
                    <ul>
                      <li><a href="../Sider/afholdte_events.php?id=1">Afholdte</a>                        </li>
                      <li><a href="../Sider/Kommende-Arragamenter.php">Kommende</a></li>
                    </ul>
                    </li>
              <li><a href="../Sider/Gallerier.php">Gallerier</a></li>
              <li><a href="../Sider/Guestbook.php">Gæstebog</a></li>
              <li><a href="../Sider/Kontakt.php">Kontakt</a></li>
              <li><a href="../Sider/Links.php">Links</a></li>
              <li><a href="../Sider/Medlemmer.php?id=3">Medlemmer</a>                  </li>
              <li><a href="../Sider/Terms.php">Vedtægter</a></li>
              <li><a href="../Sider/login.php">log ind</a>                </li>
              <li><a href="../index.php">Home</a></li>
            </ul>            </td>
            </tr>
        </table></td>
      </tr>
      <tr>
        <td width="245" height="50" align="center" valign="bottom"> </td>
        <td width="525" height="50" align="center" valign="bottom"> </td>
        <td width="230" align="right"><table width="230" height="18" border="0" cellpadding="0" cellspacing="0" class="date">
          <tr>
            <td height="18" align="left" valign="top"><?php

  $ugedage = array("Søndag","Mandag","Tirsdag","Onsdag",
    "Torsdag","Fredag","Lørdag");

  $maaneder = array("januar","februar","marts","april","maj",
    "juni","juli","august","september","oktober",
    "november","december");

  $dato_array = getdate();

  echo $ugedage[$dato_array[wday] ] . " d. " ;
  echo $dato_array[mday] . ". " ;
  echo $maaneder[($dato_array[mon]-1)] . " ";
  echo $dato_array[year];

$klokken = date('H:i:s');
echo(" - $klokken");

?>            </td>
            </tr>
          </table></td>
      </tr>
      <tr>
        <td height="500" colspan="3" align="center" valign="bottom"><table width="960" class="TBL">
          <tr>
            <td height="500" align="left" valign="top"><!-- InstanceBeginEditable name="Content" -->
              <div class="main_div">
                <table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
                  <tr>
                    <td><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
                      <tr>
                        <td width="86%" align="right" valign="bottom"><span class="float_Right">ialt <?php echo $totalRows_rspic ?>  billeder i</span></td>
                        <td width="14%" align="right" valign="middle"><h2>Test galleri</h2></td>
                      </tr>
                      <tr>
                        <td colspan="2" align="center" valign="middle"><hr size="1" /></td>
                      </tr>
                      <tr>
                        <td height="150" colspan="2" align="center" valign="middle"><table width="120" align="center" >
                          <tr>
                            <?php
$rspic_endRow = 0;
$rspic_columns = 7; // number of columns
$rspic_hloopRow1 = 0; // first row flag
do {
    if($rspic_endRow == 0  && $rspic_hloopRow1++ != 0) echo "<tr>";
  ?>
                            <td align="center" valign="middle"><table width="120" border="0" align="left" cellpadding="0" cellspacing="5">
                              <tr>
                                <td height="150" align="center" valign="middle"><a href="../billeder/<?php echo $row_rspic['billednavn']; ?>" title="galleri 1" class="thickbox" rel="billeder"></a><a href="../billeder/<?php echo $row_rspic['billednavn']; ?>" title="galleri 1" class="thickbox" rel="billeder"><img src="../billeder/<?php echo $row_rspic['billednavn']; ?>" alt="1040" height="90" border="0" align="middle" class="thumb" /></a></td>
                              </tr>
                            </table></td>
                            <?php  $rspic_endRow++;
if($rspic_endRow >= $rspic_columns) {
  ?>
                          </tr>
                          <?php
$rspic_endRow = 0;
  }
} while ($row_rspic = mysql_fetch_assoc($rspic));
if($rspic_endRow != 0) {
while ($rspic_endRow < $rspic_columns) {
    echo("<td> </td>");
    $rspic_endRow++;
}
echo("</tr>");
}?>
                        </table></td>
                      </tr>
                      <tr>
                        <td colspan="2" align="center"> </td>
                      </tr>
                    </table>
                      <p> </p>
                      <p> </p></td>
                  </tr>
                </table>
              </div>
            <!-- InstanceEndEditable --></td>
            </tr>
          </table></td>
      </tr>
      <tr>
        <td height="52" colspan="3">
  <!-- Start of StatCounter Code -->
  <script type="text/javascript">
var sc_project=3831518;
var sc_invisible=1;
var sc_partition=34;
var sc_click_stat=1;
var sc_security="f074f8e8";
</script>
 
  <script type="text/javascript" src="http://www.statcounter.com/counter/counter_xhtml.js"></script>
  <noscript>
  </noscript>
</p>
<!-- InstanceBeginEditable name="Optional 2" --><!-- InstanceEndEditable -->
<noscript><div class="statcounter">
  <p><a href="http://www.statcounter.com/" target="_blank"><img class="statcounter" src="http://c.statcounter.com/3831518/0/f074f8e8/1/" alt="site stats" ></a></p>
</div></noscript>
<p>
  <!-- End of StatCounter Code -->       
        </td>
      </tr>
    </table></td>
  </tr>
</table>
<script type="text/javascript">
<!--
var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgDown:"../SpryAssets/SpryMenuBarDownHover.gif", imgRight:"../SpryAssets/SpryMenuBarRightHover.gif"});
//-->
</script>
</body>
<!-- InstanceEnd --></html>
<?php
mysql_free_result($rspic);
?>
Avatar billede majbom Novice
16. april 2009 - 08:36 #1
ret:

$query_rspic = "SELECT * FROM billeder WHERE galleri = 'testgal'";

til:

$query_rspic = "SELECT * FROM billeder WHERE galleri = '".$_GET['gallery']."'";

og når du linker til galleriet smider du en variabel med som fortæller hvilket galleri du vil have vist:

<a href="dit_galleri_script.php?gallery=feriebilleder">
Avatar billede majbom Novice
16. april 2009 - 08:37 #2
hov, det gik da lige lidt for stærkt:

<a href="dit_galleri_script.php?gallery=feriebilleder">Feriebilleder</a>

sådan skal linket selvfølgelig se ud :)
Avatar billede silmarillion Juniormester
16. april 2009 - 10:06 #3
Hey Splazz,

Har prøvet det du skriver, men det virker desværre ikke :o(

Det ser rigtigt ud i adresse linjen, men jeg får bare fejl...

Jeg har rettet til:

$query_rspic = "SELECT * FROM billeder WHERE galleri ='".$_GET['galleri']."'";

og

<a href="Cthick.php.php?galleri=testgal">testgal</a>

Da tabellen bl.a. har et felt der  hedder "galleri"
Avatar billede silmarillion Juniormester
16. april 2009 - 10:08 #4
Det er selvf. <a href="Cthick.php?galleri=testgal">testgal</a> jeg har rettet til, og det virker ikke ;o)
Avatar billede majbom Novice
16. april 2009 - 10:14 #5
efter:

$query_rspic = "SELECT * FROM billeder WHERE galleri ='".$_GET['galleri']."'";

prøv:

echo $query_rspic;

og fortæl hvad den skriver der.
Avatar billede silmarillion Juniormester
16. april 2009 - 10:19 #6
Jeg prøvede lige en gang mere, med det du skrev i dit første svar, og det ser ud til at virke nu... mystisk, men godt ;o)

Hvis du smider et svar får du dine points.
Avatar billede majbom Novice
16. april 2009 - 10:25 #7
det var godt, kunne heller ikke forstå hvis det ikke virkede :o)
Avatar billede majbom Novice
16. april 2009 - 11:25 #8
tak for point :)
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