Projet Islamique

Discussion dans 'Programmation' créé par isitien, 29 Avril 2008.

  1. isitien

    isitien Bannis

    J'aime reçus:
    28
    Points:
    0
    Salamou3alaykoume,


    Je suis entrain de coder un pti script dial l9or2ane lkarim, puiske je ne ss pa expert au codage PHP dc je cherche la methode la plus facile et efficace pr l'avoir en plusieurs langues ainsi en plusieurs tafassir, c koi la bonne methode d'apres vous:

    - Tt mettre en une seule table,
    => taille tres grande.
    - Table 9or2ane (soura, aya,..) ; table tafseer (jalalayne, ibn kathir,..) ; table tarjama (fr, an,..) ; table asbab nouzoul.
    => dans ce cas j'aurais plusieurs tables et je dois les joindre.

    C koi la meilleurs methode pr y arriver, ainsi de ne pas avoir un chargement tres long de la page.

    PS: La meme chose pour l2a7adith.

    Merci
     
  2. Astalavista

    Astalavista Hasta La Vista Baby

    J'aime reçus:
    46
    Points:
    48
    salam isitien

    dir un cachier de charge, de ske tu veux faire exactement, en detaillant le plus possible, et jte ferai l'analyse aprés, comme ca tu aura des tables cohérentes

    au plaisir de te lire
     
  3. RedEye

    RedEye - أبو عبدالرحمن - Membre du personnel

    J'aime reçus:
    4153
    Points:
    113
    +sieurs tables
     
  4. ID^^

    ID^^ Accro

    J'aime reçus:
    375
    Points:
    83

    +1

    ila derti 1 seule table maghadich tshal 3lik la recherche w ghadi yji dakchi t9il
    pour les tables tu peux par exemple mettre table (aya) qui est liée à 1 table (soura) par le n° de soura , puis 1 table détail (tafssir) qui liera entre table (aya) et table (3alim : moufassir ) , autre table (asbab nouzoul) ki sera liée a la table (aya) , pour la table tarjama tu peux la mettre appart

    wllah iwaf9ek c 1 bon travail ^^
     
  5. isitien

    isitien Bannis

    J'aime reçus:
    28
    Points:
    0
    voila un flash sur ce ke je vais faire en plusieurs table:

    table sowar:
    id
    soura
    3adad ayat
    type soura
    tartib

    table sabab nouzoul soura:
    id
    sabab

    table coran:
    id
    aya
    sabab nouzoul aya
    page
    jouz2e
    7izb

    table tafsir:
    id
    moufassir

    table tarjama:
    id
    fr
    en
    de

    Voila juste une brf idee sur ce ke je veux faire, je pense ke c claire
     
  6. RedEye

    RedEye - أبو عبدالرحمن - Membre du personnel

    J'aime reçus:
    4153
    Points:
    113
    ce ki est en rouge à ajouter..
    ce ki est en orange : tarjama de koi, aya awla sorua toute entière?
     
  7. isitien

    isitien Bannis

    J'aime reçus:
    28
    Points:
    0
    hadik id_soura madert8ach, pque pr le moment mazal ma3reft exactement le nombre de tables pr les liers, ms fort possible seront liees par soura en plus l2aya.

    Ila dert liaison soura + ayaghadi n2attachi8oume comme suite, par exemple nakhdou page 1 dial sourat lfati7a:

    - sourat lfati7a kayna f la page 1
    - 7 ayat
    - une fois on click sur l aya 1 (l2ayat kamline ikounou sous form de liens) ghadi tekhrej separer f une autre page
    - on choisi f had l2aya: tafsir li bghina, tarjama dialha, sabab nouzoul8a, makkiya aw madaniya...

    3adad ayat: ghi pour afficher had le nombre en tete a cote dial soura w type dial8a.

    page: ghadi ndirou le meme ke lmous7af lmadina lmounawar, ca marche en page w la page termine par aya.

    table tarjama: hadi ghadi ndir8a ila bghit ndirou en plusieurs langues, dc khasni id_aya li katconecter men chak aya a son tarjama.

    table tafsir: khasni 7ta hiya id_aya bach n2attachi tafsir l aya dial8a
     
  8. Astalavista

    Astalavista Hasta La Vista Baby

    J'aime reçus:
    46
    Points:
    48
    re isitien <D

    voila jté fé la base de donnée comme tu la voulais, si ya des champs qui manque,tu me le dis.
    une tite remarque,les champs dial le7ssabe ( nbre de verset par sourat par ex.) c pas la peine dlé stocké fla bdd,pcq tu peux les avoir apré ac des fonctions php,et en faisant des requetes ;)


    bdd :


    Capture d'ecran des tables :

    sourat
    [​IMG]

    verset
    [​IMG]

    type sourat
    [​IMG]

    traduction
    [​IMG]

    Voici quelques liens qui pourront t'être utile :

    http://www.lexilogos.com/coran.htm
    http://www.spip-contrib.net/Developper-un-site-Web-arabe
    http://www.islamophile.org/spip/Sourate-Al-Fatihah.html
    http://fr.wikipedia.org/wiki/Sourate
    http://fr.wikipedia.org/wiki/Parole_du_Coran
    http://www.yabiladi.com/coran/ (traduction des versets)

    jspr ke tt ca pourra taidé :p
    n'hesite pas a me faire signe si ta besoin d'autre chose, ca minteresse bien dbossé sur ton projet <D

    au plaisir de te lire
     
  9. isitien

    isitien Bannis

    J'aime reçus:
    28
    Points:
    0
    Astalavista : merci pr ton aide, je vais la tester et mettre des changements selon ce ke je veux faire, le principe et la base reste la meme.
     
  10. Astalavista

    Astalavista Hasta La Vista Baby

    J'aime reçus:
    46
    Points:
    48
    tavance un peu,oula 3atiha ghire len3asse? [22h]
     
  11. isitien

    isitien Bannis

    J'aime reçus:
    28
    Points:
    0
    ghi n3asse a khay daba wellah ZzZ
     
  12. Astalavista

    Astalavista Hasta La Vista Baby

    J'aime reçus:
    46
    Points:
    48
    pchaaakh, khdemna bekri, afi9 a si baraka mene le3guez :p

    jverrai ski ya a faire, tu ma motivé a taffé dessus ^^

    b9a na3esse [22h]
     
  13. isitien

    isitien Bannis

    J'aime reçus:
    28
    Points:
    0
    meni nebda incha Allah nkemlou f une duree limitee, daba je fai le plan du site et je me prepare pr revenir au pays [06h][25h]
     
  14. Astalavista

    Astalavista Hasta La Vista Baby

    J'aime reçus:
    46
    Points:
    48
    ah daccord ;)

    bosse bien als et bon retour inchallah ;)

    3o9ba liya <D
     
  15. RedEye

    RedEye - أبو عبدالرحمن - Membre du personnel

    J'aime reçus:
    4153
    Points:
    113
    @astalavista: kayn des défaut f ta base bash khdamti
     
  16. isitien

    isitien Bannis

    J'aime reçus:
    28
    Points:
    0
    A premiere vue :)

    [​IMG]
     
  17. isitien

    isitien Bannis

    J'aime reçus:
    28
    Points:
    0
    @Astalavista: ana mazal kant3elem.

    voila mes tables:

    hadi la table dial les noms dial sowar, type wach makiya aw madaniya, 3adad ayat, tartib dial8a w sabab nouzoul8a:

    Code:
    CREATE TABLE `coran` (
      `id` int(20) NOT NULL auto_increment,
      `soura` varchar(300) collate utf8_unicode_ci NOT NULL,
      `type_soura` varchar(300) collate utf8_unicode_ci NOT NULL,
      `nbre_ayat` varchar(300) collate utf8_unicode_ci NOT NULL,
      `tartib` varchar(300) collate utf8_unicode_ci NOT NULL,
      `sabab_nouzoul_soura` varchar(300) collate utf8_unicode_ci NOT NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;
    
    --
    -- Contenu de la table `coran`
    --
    
    INSERT INTO `coran` (`id`, `soura`, `type_soura`, `nbre_ayat`, `tartib`, `sabab_nouzoul_soura`) VALUES
    (1, 'الفاتحة', 'مكية', '7', '1', ''),
    (2, ' البقرة', 'مكية', '286', '2', '');
    
    w hadi dial le contenu en langue arabe, fi8a la relation entre les 2 tables en id_soura, l2aya, l3adad dial l2aya, la page li jat fi8a (ghadi nemchi m3a mous7af lmadina lmounawara), l7izb w ljouz2e

    Code:
    CREATE TABLE `coran_arabi` (
      `id` int(20) NOT NULL auto_increment,
      `id_soura` varchar(300) collate utf8_unicode_ci NOT NULL,
      `aya` varchar(300) collate utf8_unicode_ci NOT NULL,
      `nbre_aya` varchar(300) collate utf8_unicode_ci NOT NULL,
      `page` varchar(300) collate utf8_unicode_ci NOT NULL,
      `hizb` varchar(300) collate utf8_unicode_ci NOT NULL,
      `jouze` varchar(300) collate utf8_unicode_ci NOT NULL,
      PRIMARY KEY  (`id`),
      FULLTEXT KEY `nbre_aya` (`nbre_aya`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=9 ;
    
    --
    -- Contenu de la table `coran_arabi`
    --
    
    INSERT INTO `coran_arabi` (`id`, `id_soura`, `aya`, `nbre_aya`, `page`, `hizb`, `jouze`) VALUES
    (1, '1', 'بِسْمِ اللّهِ الرَّحْمـَنِ الرَّحِيمِ', '<img src="imgs/1.gif">', '1', '1', '1'),
    (2, '1', 'الْحَمْدُ للّهِ رَبِّ الْعَالَمِينَ', '<img src="imgs/2.gif">', '1', '1', '1'),
    (3, '1', 'الرَّحْمـنِ الرَّحِيمِ', '<img src="imgs/3.gif">', '1', '1', '1'),
    (4, '1', 'مَـالِكِ يَوْمِ الدِّي', '<img src="imgs/4.gif">', '1', '1', '1'),
    (5, '1', 'إِيَّاكَ نَعْبُدُ وإِيَّاكَ نَسْتَعِينُ', '<img src="imgs/5.gif">', '1', '1', '1'),
    (6, '1', 'اهدِنَــــا الصِّرَاطَ المُستَقِيمَ', '<img src="imgs/6.gif">', '1', '1', '1'),
    (7, '1', 'صِرَاطَ الَّذِينَ أَنعَمتَ عَلَيهِمْ غَيرِ المَغضُوبِ عَلَيهِمْ وَلاَ الضَّالِّينَ', '<img src="imgs/7.gif">', '1', '1', '1'),
    (8, '2', 'الم', '1', '2', '1', '1');
    
    pour le moment ca marche bien, juste un petit truc, bghit au lieu bach ndir plusieurs requetes de select nejme38oume f une seule, walakine ha7na kant9atlou, kant3elmou:

    PHP:
    $select 'SELECT soura, type_soura, nbre_ayat, tartib from coran INNER JOIN coran_arabi ON coran.id = coran_arabi.id_soura';
    $result mysql_query($select,$link)  or die ('Erreur : '.mysql_error() );
    $total mysql_num_rows($result);

      ....
    m3a hadi:

    PHP:
    $select2 'SELECT * FROM coran_arabi';
    $result2 mysql_query($select2,$link) or die ('Erreur : '.mysql_error() );
    $total2 mysql_num_rows($result2);
     
  18. Astalavista

    Astalavista Hasta La Vista Baby

    J'aime reçus:
    46
    Points:
    48
    b7alache a red?
     
  19. ID^^

    ID^^ Accro

    J'aime reçus:
    375
    Points:
    83
    khdem b mysql-front w dir les vues (houma lli t9der tjma3fihoum +eurs jointures b7al ila kant 1 nouvelel table
     
  20. Astalavista

    Astalavista Hasta La Vista Baby

    J'aime reçus:
    46
    Points:
    48
    avt de passer aux requetes, jai une tite remarque
    comme jté dis a isitien pas la peine de representé des champs de calcul,du moment ktu peux les recupérer apré :
    exple :

    PHP:
    nbre ayat "select count(*) from coran c, coran_arabi ca where c.soura = ca.id_soura"
    et pr le tartib, c'est ton id, tu na qu'a le recupéré aprés.

    qd a ta requete :


    PHP:
    $select 'SELECT * from coran c,coran_arabi ca where c.soura = ca.id_soura ';
    //la requete la c pr avoir gha3 souware
    PHP:
    $id soura 2// par ex
    $select 'SELECT * from coran c,coran_arabi ca where c.soura = ca.id_soura and ca.id_soura = $id_soura ';
    //cette requete te donnera gha3 layate dial soura ki a l'id 2,qui ds ton cas hiya sourate lba9ara ;
    ou sinon, par nom :
    PHP:
    $nom_soura "البقرة"
    $select "SELECT * from coran c,coran_arabi ca where c.soura = ca.id_soura and c.soura = '$nom_soura' ";
    //recherche par nom
    PHP:
    $result mysql_query($select,$link)  or die ('Erreur : '.mysql_error() );
    // apré tu extrait tes données :

    PHP:
    while($rowmysql_fetch_array($result))        
    {
    $id _soura $row[0];
    $nom_soura $row[1];
    ...
    }
     

Partager cette page