PHP.EE FOORUM   
Nimi:   Pass:   Mäleta mind! 
   Teemad | php.ee esilehele | registreeri | Märgi kõik teemad loetuks | #php.ee Skype vestlus | RSS
UUS TEEMA  OTSI  Lehekülgi: 1 2 
uute kategooriate lisamise skripti näidis
Postitaja: miilu 2003-04-23 10:50:50

on järgmine tabel:

KATEGOORIAD

Id | ParentID | Nimi

1 | 0 | Koduloomad
2 | 0 | Metsloomad
3 | 1 | Koer
4 | 1 | Kass
5 | 2 | Siga
6 | 2 | Karu


Kuidas teha uute kategooriate lisamise skripti/formi?
1. Ülemkategooria lisamine on lihtne, tuleb oma kategooria nimele lisada ParentID = 0

2. Aga alamkategooriate lisamisel on asi keerulisem.
Saaks kuidagi andmebaasist välja võtta <select><option> menüüsse need kategooriad mis tabelis on.
Nt.

<select>
<option>- KATEGOORIAD --</option>
<option>-- Koduloomad</option>
<option> -> Koer</option>
<option> -> Kass</option>
<option>-- Metsloomad</option>
<option> -> Siga</option>
<option> -> Karu</option>
</select>

Menüüst valiku puhul võetakse see klass kõrgemal olevaks kategooriaks.
Kui valik on Koduloomad, siis uue nimetuse Lammas lisatakse koduloomade alla. Aga kui valik on Koer siis läheb uus kategooria koera alla mis näeks lõpuks välja nii

-- Koduloomad
-> Koer
-> Spaniel
RE: uute kategooriate lisamise skripti näidis
Postitaja: miilu 2003-04-23 10:56:14
Eelnevalt ei jäänud näha et noolekesed oleks õieti nagu ma mõtlesin. Ilmselt selle foorumi eripära. Asendan praegu tühikud punktikestega siis on arusaadavam kuidas mõtlesin

-- Koduloomad
...-> Koer
....-> Spaniel

See ei pea nii olema aga mõte on selles et rippmenüüs oleks aru saadav milline kategooria millisele allub.
RE: uute kategooriate lisamise skripti näidis
Postitaja: muidumeez 2003-04-23 11:52:27
Ehitad asja yles rekursiivselt
RE: uute kategooriate lisamise skripti näidis
Postitaja: miilu 2003-04-23 12:16:23
Leidsin Internetist scripti ja tegin katset kuid see ei hakanud tööle.

Tegin tabeli

Id | Parent_ID | Cat_Name


ja panin järgmise scripti index.php faili


PHP kood:
 
<?php
/* ---------------------------------------------- */
/* ------------ BEGIN PHP SNIPPET ----------------*/
/* ---------------------------------------------- */

// $current_cat_id: the current category id number
// $count: just a counter, call it as 0 in your function call and forget about it

/* GET THE DROP DOWN LIST OF CATEGORIES */
function get_cat_selectlist($current_cat_id$count) {
static 
$option_results;

// if there is no current category id set, start off at the top level (zero)
if (!isset($current_cat_id)) {
$current_cat_id =0;
}


// increment the counter by 1
$count $count+1;

$host "localhost";                        //Sinu mySQL serveri aadress või IP
$user "nimi";                            //mysql kasutajanimi
$pass "parool";                            //mysql parool kasutajale
$ab "andmebaas";        //kasutatava andmebaasi nimi

$yhendus=mysql_connect($host$user$pass) or die("Ei saa ühendust serveriga!!!");
$db=mysql_select_db($ab,$yhendus) or die("Ei saa ühendust andmebaasiga!!!");

// query the database for the sub-categories of whatever the parent category is
$sql "SELECT Id, Cat_Name from categories where Parent_ID = '$current_cat_id' order by Cat_Name asc"
$get_options mysql_query($sql);
$num_options mysql_num_rows($get_options);


// our category is apparently valid, so go ahead... 
if ($num_options 0) { 
while (list(
$cat_id$cat_name) = mysql_fetch_row($get_options)) {


// if its not a top-level category, indent it to show that its a child category
if ($current_cat_id!=0) {
$indent_flag "&nbsp;&nbsp;";
for (
$x=2$x<=$count$x++) {
$indent_flag .= "--&gt;&nbsp;";
}
}

$cat_name $indent_flag.$cat_name
$option_results[$cat_id] = $cat_name;


// now call the function again, to recurse through the child categories
get_cat_selectlist($cat_id$count );





return 
$option_results;

?> 

<select name="cat_id">
    <option value="">-- Select -- </option>
    
<?php 
    $get_options 
=    get_cat_selectlist(00);    
        if (
count($get_options) > 0){    
            
$categories $_POST['cat_id'];
                foreach (
$get_options  as $key => $value) {                    
                    
$options .="<option value="$key"";                
                        
                        
// show the selected items as selected in the listbox
                        
if ($_POST['cat_id'] == "$key") {
                        
$options .=" selected="selected"";                    
                        }                        
                
                    
$options .=">$value</option>n";            

                }
            
        }
        echo 
$options;
    
?>

     </select>

RE: uute kategooriate lisamise skripti näidis
Postitaja: miilu 2003-04-23 12:31:18
Eelnev script oli keeruline aga ei töötanud

Järgnev palju lihtsam kuid töötab. Mis oluline asi oli eelmises scriptis peale selle lihtsa, peale nende noolekeste?

Ja kuidas neid noolekesi sellele lihtsale skriptile külge pookida?


PHP kood:
 
echo "<select name=categories>";
$sql = ("SELECT * FROM categories ORDER BY Id ");
$result mysql_query($sql) or die("Couldn't execute query."); 
while (
$row mysql_fetch_array($result)) { 
echo 
"<option value=".$row[Id].">".$row[Cat_Name]."</option>";}
echo 
"</select>";
RE: uute kategooriate lisamise skripti näidis
Postitaja: Miki 2003-04-24 01:05:22
äkki see vahe on teie koodidel, et yhel on korralik kategooriate jaotus ja teisel (loe: sul) ei ole..?
RE: uute kategooriate lisamise skripti näidis
Postitaja: miilu 2003-04-24 01:49:01
mida sa sellega öelda tahtsid
RE: uute kategooriate lisamise skripti näidis
Postitaja: Miki 2003-04-24 12:03:58
no kui sa nii kysid, siis sa vist pole katsetanud mõlemad koodi.. aga vahe on märgatav igatahes..
RE: uute kategooriate lisamise skripti näidis
Postitaja: miilu 2003-04-24 12:29:24
aga sa pole vist lugenud mis eelnevalt kirjas on olnud
RE: uute kategooriate lisamise skripti näidis
Postitaja: Miki 2003-04-24 13:34:21
mida täpsemalt? et se ei tööta? töötab kylll.. täica ilusti töötab..

noolekesed ongi seal juurde poogitud. suhtkoht kõik on vajalik..
RE: uute kategooriate lisamise skripti näidis
Postitaja: miilu 2003-04-24 13:37:40
See pikem script on täiesti töötav. Oli minu viga et panin ühe vale tabeli väljanime. Vale oli Parent_ID, õige on ParentID
Ja see hakkas tööle.

Aga ta näitab ainult kahetasandiliselt

Nt.

- Select -
Koduloomad
-> Koer
-> Spaniel

aga oleks vaja

- Select -
Koduloomad
-> Koer
.-> Spaniel

(punkt tähistab siin tühikut)

ja nii edasi iga järgneva alamgrupi puhul

RE: uute kategooriate lisamise skripti näidis
Postitaja: miilu 2003-04-24 20:36:12
Mul on veel üks töötav script (millegi pärast töötab ilma funktsioonifailita kuid koos ei tööta) mis tundub lihtsam kui see esimene kuid pole päris see mis teema pealkirjaga haakuks. Minul oli ju küsimus selles kuidas teha rajendust et kategooriaid lisada.

Aga kuidas alljärgnevale skriptile teha seda et nende ul ol asjade asemel oleks select option.


PHP kood:
 

// funktsioonid.php

<?php

function ShowTree($ParentID=0,$level=0){
    
$query=mysql_query("select Id,ParentID,Cat_Name from categories where ParentID='$ParentID'");
    
$level++;
    while (
$row=mysql_fetch_object($query) ){
       
$cnt=$row->Id;
       
$element[$cnt]['Id']=$row->Id;
       
$element[$cnt]['ParentID']=$row->ParentID;
       
$element[$cnt]['Cat_Name']=$row->Cat_Name;
       echo 
str_repeat('-'$level) ."<B>".$element[$cnt]['Cat_Name']."</B>
(level=$level)(counter=$cnt)<br>"
;
       
ShowTree($element[$cnt]['Id'],$level);
     }
  }


?>

//

 <?php 
include( "dbopen.php" ); 

function 
ShowTree($ParentID$lvl) { 

global 
$yhendus
global 
$lvl
$lvl++; 

$sql="SELECT Id,Cat_Name,ParentID FROM categories WHERE ParentID=".$ParentID." ORDER BY Cat_Name";
$result=mysql_query($sql$yhendus);

if (
mysql_num_rows($result) > 0) {
echo(
"<UL>n");
while ( 
$row mysql_fetch_array($result) ) {
$ID1 $row["Id"];
echo(
"<LI>n");
echo(
"<A HREF=""."?ID=".$ID1."">".$row["Cat_Name"]."</A>"."  n");
ShowTree($ID1$lvl); 
$lvl--;
}
echo(
"</UL>n");
}

}

ShowTree(00); 

mysql_close($yhendus); 

?> 

RE: uute kategooriate lisamise skripti näidis
Postitaja: Endel 2003-04-24 22:54:57
Leidsin internetist skripti mis paneb ekraanile "Hello World".
Skript ise on selline:

<?PHP
echo "Hello Wolrld!";
?>

Armsad inimesed, kas keegi viitsib siia postitada mingi skripti, mis paneks ekraanile hoopis "Tere maailm" ???

RE: uute kategooriate lisamise skripti näidis
Postitaja: x 2006-06-16 09:22:46
TSITEERITUD:
Eelnev script oli keeruline aga ei töötanud

Järgnev palju lihtsam kuid töötab. Mis oluline asi oli eelmises scriptis peale selle lihtsa, peale nende noolekeste?

Ja kuidas neid noolekesi sellele lihtsale skriptile külge pookida?


PHP kood:
 
echo "<select name=categories>";
$sql = ("SELECT * FROM categories ORDER BY Id ");
$result mysql_query($sql) or die("Couldn't execute query."); 
while (
$row mysql_fetch_array($result)) { 
echo 
"<option value=".$row[Id].">".$row[Cat_Name]."</option>";}
echo 
"</select>";
RE: uute kategooriate lisamise skripti näidis
Postitaja: aga 2006-06-16 10:24:32
TSITEERITUD:
Leidsin internetist skripti mis paneb ekraanile "Hello World".
Skript ise on selline:

<?PHP
echo "Hello Wolrld!";
?>

Armsad inimesed, kas keegi viitsib siia postitada mingi skripti, mis paneks ekraanile hoopis "Tere maailm" ???



Proovi midagi sellist:

PHP kood:
 
{!pe_ha_pe
  kaja 
"Tere maailm".
!}
RE: uute kategooriate lisamise skripti näidis
Postitaja: aga 2006-06-16 10:25:51
ja üldiselt, kirjutage ise oma scripte mitte ärge tõmmake netist mingit crappi kokku.
RE: uute kategooriate lisamise skripti näidis
Postitaja: Karl_Punk 2006-06-16 10:41:00
Minge persse, see teema on ju 3 aastat vana...
RE: uute kategooriate lisamise skripti näidis
Postitaja: Karl_Punkar 2006-06-16 17:53:47
TSITEERITUD:
Minge persse, see teema on ju 3 aastat vana...

mine sinna kust välja tulid ja õpi arvutama
RE: uute kategooriate lisamise skripti näidis
Postitaja: dfs 2006-06-16 18:11:34
TSITEERITUD:

mine sinna kust välja tulid ja õpi arvutama

Äkki peaksid ise arvutamist õppima?
RE: uute kategooriate lisamise skripti näidis
Postitaja: lammaz (true) 2006-06-16 19:35:26
RE: uute kategooriate lisamise skripti näidis
Postitaja: määä 2006-06-16 20:09:58
TSITEERITUD:

Äkki peaksid ise arvutamist õppima?

teema on tehtud 2003-04-23
täna on 2006-06-16
teema on vana 3 aastat 1 kuu ja 14 päeva, mitte 3 aastat. vot nii
RE: uute kategooriate lisamise skripti näidis
Postitaja: fdsf 2006-06-16 21:41:17
TSITEERITUD:

teema on tehtud 2003-04-23
täna on 2006-06-16
teema on vana 3 aastat 1 kuu ja 14 päeva, mitte 3 aastat. vot nii

"teema on vana 3 aastat 1 kuu ja 14 päeva, mitte 3 aastat. vot nii"
khm
RE: uute kategooriate lisamise skripti näidis
Postitaja: lammaz (true) 2006-06-16 21:50:40
[php]
while (true || 1 == 1):
if (mt_rand(1, 100) % 2) {
echo 'noob';
} else {
echo 'lammas';
}
// meanwhile
echo 'jobu';
endwhile;
RE: uute kategooriate lisamise skripti näidis
Postitaja: K- 2006-06-16 21:59:56
[/php] pane ka lõppu :(
RE: uute kategooriate lisamise skripti näidis
Postitaja: lammas (true) 2006-06-16 23:44:57
TSITEERITUD:
[/php] pane ka lõppu :(

vähese õlle viga...

Leheküljed: 1 2 

©2002-2013 Martin Rebane & PHP.ee kaasautorid
  0.0941860675812