Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno PHP - definícia globálnej premennej pre vnorené funkcie

  global $subsections;
  global $subsections_count;
	
  function add_subsections($id, $conn1)
  {
    $subsections_count++;
    $subsections[$subsections_count] = $id;
    
    $sql = mysql_query("select * from shop_sekcie where main=$id order by sort", $conn1);
    while ($line = mysql_fetch_array($sql)):
      $id0 = $line[id];
      add_subsections($id0, $conn1);
    endwhile;
  }

  $subsections_count = 0;
  //add_subsections($_SESSION[session_shop_section], $conn1);
  add_subsections(0, $conn1);

  $a = "";
  for ($i = 1; $i <= $subsections_count; $i++)
    $a .= "$subsections[i] ";
  $a = "$subsections_count $a";
  echo"<script>alert('$a')</script>";
  die($a);

Malo by to zobraziť zoznam ID všetkých podsekcií menu. Problém nie je vo funkcii, tá by mala byť dobre. Problém je, že neviem definovať dve globálne premenné. Nemôžem ich odovzdávať ako parameter stále dokola.

Předmět Autor Datum
To, že je premenná globálna, musíš deklarovať vnútri funkcie. $subsections; $subsections_count; fun…
los 12.10.2007 10:13
los
Tak v tom je ten fígel. To ma vôbec nenapadlo. No čo, som starý Delfista, to bude dlho doznievať. E…
msx. 12.10.2007 10:14
msx.
Takže ďakujem. Bola síce chyba aj v sekcii for, ale to bol len $. Už som na tie $ alergický. poslední
msx. 12.10.2007 10:19
msx.

To, že je premenná globálna, musíš deklarovať vnútri funkcie.

$subsections;
$subsections_count;
	
function add_subsections($id, $conn1)
{
  global $subsections;
  global $subsections_count;

  $subsections_count++;
  $subsections[$subsections_count] = $id;
    
  $sql = mysql_query("select * from shop_sekcie where main=$id order by sort", $conn1);
  while ($line = mysql_fetch_array($sql)):
    $id0 = $line[id];
    add_subsections($id0, $conn1);
  endwhile;
}

Zpět do poradny Odpovědět na původní otázku Nahoru