Jump to content
php.lv forumi

Array


Lokomotive
 Share

Recommended Posts

Lieta tāda, ka skripts ar trim sadala masīvu $file_nos divās daļās ( $alt[0] un $alt[1] ), tad tam skriptam būtu jāpārbauda vai $alt[0] nesatur tādu pašu vērtību kā $show_pic_nos, un ja satur tad skripts paņem tieši tās vērtības, kas atrodas iepretim $alt[0] ( resp. $alt[2] ).

 

// $file_nos ir Masīvs (Array), kas iegūts ar readdir() palīdzību.

 

respektīvi, masīvs satur:

01-govs

02-trusis

03-autobuss

 

// Tātad..

 

$show_pic_nos = "01";

 

if

$getAlt = trim($file_nos);

$alt = explode("-", $getAlt);

if ($alt[0] = $show_pic_nos){

$nos = $alt[1];

 

echo $alt[0]."-".$alt[1];

}

else{

echo "nedarbojas";

}

 

Kā lai dabū gatavu, ka tas skripts darītu sekojošu:

pārbauda vai $alt[0] nav $show_pic_nos, un ja ir, tad izdrukā attiecīgo rindinju ($alt[0] un $alt[1]).

Piedošanu, ka tik nesakarīgi uzrakstīju :(

Centos.

 

Ja kas nesaprotams - rakstiet!

Edited by Lokomotive
Link to comment
Share on other sites

pirmais, kas krīt acīs:

if ($alt[0] = $show_pic_nos){

bet jābūt, laikam:

if ($alt[0] == $show_pic_nos){

Nē, tas diemžēl nelīdz, jo es jau tā mēģināju. Tas nedarbojas abejādi (gan ar = gan ar ==).

Skripts tiek izpildīts, taču nepareizi, jo tas izdrukā nevis 1 bildes nosaukumu (kas sastāv no $alt[0]."-".$alt[1] ), bet gan vairākus bilzhu nosaukumus (visus nosaukumus, kas atrodas tai direktorijā, kurru nolasīja ar readdir() (no kuras tika izveidots masīvs $file_nos.

Edited by Lokomotive
Link to comment
Share on other sites

Gadījumā, ja es tiešām izsakos nepareizi vai nesaprotami, te būs viss nepieciešamais kods. Ceru, ka tagad tas radī kkādu priekšstatu par to skriptu..

 

 

$show_dir = "2003";
$show_pic_nos = "01";

if ($direktorija = opendir('data/foto/'.$show_dir)) {
  while (false !== ($file_nos = readdir($direktorija))) { 
      if ($file_nos != "." && $file_nos != ".." && $file_nos != "comments") { 
         print show($file_nos, $show_dir, $show_pic_nos);
      }
  }
  closedir($direktorija);
   
}
function show($file_nos, $show_dir, $show_pic_nos){
$getAlt = trim($file_nos);
$alt = explode("-", $getAlt);
if ($alt[0] == $show_pic_nos){
$nos = $alt[1];
}else{
echo "nav otraad faila daljas!";
}

echo "<tr>\n";
$pic = "<img class=\"gal_img\" src=\"data/foto/".$show_dir."/".$show_pic_nos."-".$nos."\">\n"; // alt=\"".$alt[1]."\"
echo "<td class=\"show_td\">".$pic."</td>\n";
echo "</tr>\n";
}

Link to comment
Share on other sites

function show($file_nos, $show_dir, $show_pic_nos){
$getAlt = trim($file_nos);
$alt = explode("-", $getAlt);
if ($alt[0] == $show_pic_nos){
$nos = $alt[1];
echo "<tr>\n";
$pic = "<img class=\"gal_img\" src=\"data/foto/".$show_dir."/".$show_pic_nos."-".$nos."\">\n"; // alt=\"".$alt[1]."\"
echo "<td class=\"show_td\">".$pic."</td>\n";
echo "</tr>\n";
}else{
echo "nav otraad faila daljas!";
}
}

Link to comment
Share on other sites

Re: Aleksejs

 

Jā, nu vismaz ar to figūriekavu palīdzību, par vienu kļūdiņu kļuva mazāk - tagad 1 nosaukuma vietā vairs neizdrukā visus nosaukumus un tas priecē.

Taču pašreizējā situācijā, skripts izdrukā pirmo masīva rindiņu!

 

respektīvi, ja masīvs satur:

01-govs

02-trusis

03-autobuss

 

tad neatkarīgi no saņemtā noscījuma($show_pic_nos) vērtības (piem. 01 vai 02 vai 03) tiek izvadīta pirmā rindiņa (01-govs).

Link to comment
Share on other sites

 Share

×
×
  • Create New...