nasıl ben php csv bağlantıları ile çalışan bir dropdownlist olabilir

2 Cevap php

Ben, bir CSV yükleyen bir web sitesi var parçaya böler ve bu parçaları gösterir.

Orada 7 parçaları ve bir müzik mağazası için olduğundan bu gibi dilimlenir:

  • ürünün adı
  • subisim
  • fiyat
  • bir dükkanda stok
  • diğer dükkan stoku
  • grup adı
  • markası

What i have now is that it shows 12 products on 1 page, with a next and previous link on top of the page. The pages are made with grup adı, every group has it's own page, so you have a drums page, guitar page, speaker page. That all works great. What i programmed in there is a dropdownlist, it drops down a list of brandisims, which should narrow the search for a person who is looking at the products. Problem is right now, that the dropdown menu works, i see the brands, but they are NONE clickable, only the brands that are currently on the page are shown, so NOT all the brands from that group are shown, only the 12 that are currently showing, when you press next, it shows 12 more brands, but i want them to be shown right on the start. And the third problem is, when it is showing the brands, it shows them double or triple, depending on how many products have the same brand. Is there a way what i want, with this code as a basis ?

<html>
<body bgcolor=#E2E965 link=black vlink=black alink=black text=#D5DF23>
<style type="text/css">
#nav, #nav ul {
padding: 0;
margin: 0;
list-style: none;
}
#nav li {
float: left;
wkimlikth: 120px;
}
#nav ul {
position: absolute;
wkimlikth: 120px;
left: -1000px;
}
#nav li:hover ul {
left: auto;
}
<!--
a {text-decoration:none}
//-->
body
{
scrollbar-arrow-color: #E2E965;
scrollbar-face-color: #D7182A;
scrollbar-highlight-color: #000000;
scrollbar-3dlight-color: #D6DF23;
scrollbar-shadow-color: #00000;
scrollbar-darkshadow-color: #00000;
scrollbar-track-color: #D6DF23;
}
input:link {text-decoration: none; color: #E2E965;}
input:visited {text-decoration: none; color: #E2E965;}
input:active {text-decoration: none; color: #E2E965;}
.spacer_black {
margin: 0px;
padding: 0px;
border: 5px;
height: 2px;
wkimlikth: 100%;
line-height: 0px;
font-size: 0px;
background-color: #000000;}
</style>
<table wkimlikth=800 border=0><td>
</html>
<?PHP
$offset = isset($_GET['offset'])?$_GET['offset']:0;
$LinesToDisplay = 12;
$row = $offset + $LinesToDisplay;
$row2 = $offset - $LinesToDisplay;
$file_handle = fopen("web.txt", "rb");
error_reporting( E_ALL ); // DEBUGGING
$SelectArray=array();
while ((($parts = fgetcsv($file_handle,4096,"|")) !== FALSE)  && ($LinesToDisplay > 0) && (!feof($file_handle)))
{
    //new code
    //skip first $offset lines  

$num = count($parts[6]);
$SelectArray[]=$parts[6];
if ($parts[5] == 9999)
{
if ($offset-- > 0)   
{continue;}
$parts[0] = ucwords(strtolower($parts[0]));
$parts[1] = ucwords(strtolower($parts[1]));
?>
<td>
<?php
echo "<table BACKGROUND='background.jpg' border=0 wkimlikth=250><td wkimlikth='243' height='105'>";
echo "<font size=-1 face='helvetica' color=#812990><b>$parts[0]</b></font>";
echo "<i>";
?>
<html>
<div onMouseOver="this.style.color = 'black';" onMouseOut="this.style.color = '#D5DF23';">
</html><?php
echo "<font size=2>-$parts[1]</font>";
echo "</div></i>";
?><html><a href="#" title="Koop nu de <?php echo $parts[0]; ?>" onClick="window.open('form.php?p=<?php echo urlencode($parts[0]); ?>','popuppage','wkimlikth=400,height=400,top=250,left=250,resizable=0,statusbar=0,titlebar=yes,toolbar=no,scrollbars=no,location=no,directories=no');">
<div><img src='ster.jpg' border=0 wkimlikth='46' align='right'></a>
<a href="#"><img src='envelope.jpg' border=0 wkimlikth='46' align='right'title="Heeft u een vraag over <?php echo $parts[0]; ?>" onClick="window.open('vraag.php?p=<?php echo urlencode($parts[0]); ?>','popuppage','wkimlikth=400,height=400,top=250,left=250,resizable=0,statusbar=0,titlebar=yes,toolbar=no,scrollbars=no,location=no,directories=no');">
<div></a>
<TABLE BORDER='0' cellpadding='0' CELLSPACING='0'>
<TR>
<TD WIDTH='70' HEIGHT='20' BACKGROUND='pricebackground.jpg' VALIGN='bottom'>
<center>
<font size=2 color=white face='helvetica'>
<b></html>
<?php echo "€  $parts[2]";
?>
</b>
</td>
</tr>
</table>
<?php echo "<b><font size=3 color=#D7182A>Op Voorraad In:<br></font>";
      echo ("<font color=black> Amsterdam </font>");
      if ( $parts[3] >= 1 )  echo ("<IMG SRC =green.gif>")."";
      if ( $parts[3] <= 0 )  echo ("<IMG SRC =red.gif>")."";
      echo ("<font color=black> Utrecht </font>");
      if ( $parts[4] >= 1 )  echo ("<IMG SRC =green.gif>")."</td></table></b><p style='margin:9px;'>";
      if ( $parts[4] <= 0 )  echo ("<IMG SRC =red.gif>")."</td></table></b><p style='margin:9px;'>";
      $LinesToDisplay--;
if ($LinesToDisplay/3==intval($LinesToDisplay/3))
{
   echo "<tr><td>";
}
     }}
fclose($file_handle);
?>
<tr align=right>
<select style="background-color: #FFFFFF; color: #000000; font-family: Arial; font-weight: none; font-size: 12; wkimlikth: 150px; ">
<?php
$i=1;
foreach ($SelectArray as $val){
echo "<option value=\"$i\">$val</option>\n";
$i++;
}
?>
</select>
<font color=black><body alink=black vlink=black link=black text=black>
<center><a href="occasiona.php?offset=<?php echo $row2; ?>" align=center>&laquo; previous</a> || <a href="occasiona.php?offset=<?php echo $row; ?>">next &raquo;</a></table></html>

2 Cevap

Sen ofset belirlemek ve daha sonra 12 hatları ile $SelectArray doldurun. Bu şekilde komut dosyası. Csv başka ne olduğunu bilmenin bir yolu vardır, ve bu dosyadan aldım veriler haricinde bir şey gösteremez.

Tüm markalar görüntülemek istiyorsanız tam. CSV alma gerekir. Eğer bu tam dosya sayfasını yüklemek her zaman yükleniyor olacak çünkü dosya olduğunu nasıl larget bağlı olarak, bu takoz, iyi bir fikir olabilir. Bir olasılık ise:. Yerine veritabanı kullanmak, CSV alma ve sadece gerekli bilgileri seçin.

Şu anda dosya sadece bu yüzden sorun yok 180kbytes, sorun bunu yapmak için nasıl.