Aller au contenu

elfaus

Actif
  • Compteur de contenus

    15
  • Inscrit(e) le

  • Dernière visite

Réputation sur la communauté

0 Neutre
  1. SQL et fusion de résultat

    Salut à tous, j'essaye d'optimiser un script php afin de n'avoir à réaliser qu'une seule requête et récupérer toutes les informations nécessaires. J'ai découvert il y a peu group_concat mais je ne suis parvenu à le faire fonctionner que sur un seul champ. Soit les deux tables sources suivantes : Heroes +----+-----------+------------+ | id| name_fr | name_us | +----+-----------+------------+ | 1 | ababab | ababab | | 3 | efefef | efefef | +----+-----------+------------+ Schools +----+-----------+-----------+ | id | name_fr | name_us | +----+-----------+-----------+ | 3 | ababab | ababab | | 5 | cdcdcd | cdcdcd | | 9 | efefef | efefef | +----+-----------+-----------+ Soit la table relationnelle suivante : Heroes_Schools +----+----+ | hid|sid | +----+----+ | 1 | 3 | | 1 | 5 | | 3 | 9 | +----+----+ L'idée, est de faire en sorte de récupérer un résultat similaire à celui-ci +----+-----------+-----------+--------------------------------------------------+ | id| name_fr | name_us | schools | +----+-----------+-----------+--------------------------------------------------+ | 1 | ababab | ababab | 3, ababab, ababab; 5, cdcdcd, cdcdcd | | 3 | efefef | efefef | 9, efefef, efefef | +----+-----------+-----------+--------------------------------------------------+ Afin de pouvoir par la suite faire un traitement de tableau en php et passer le contenu de schools en paramètre d'une autre class que celle réalisant la requête et stockant les information id, name_fr et name_us Pour l'instant j'ai ça : SELECT mch.id, mch.name_fr, mch.name_us, GROUP_CONCAT(mcs.id) AS schools_id, GROUP_CONCAT(mcs.name_fr) AS schools_name_fr, GROUP_CONCAT(mcs.name_us) AS schools_name_us FROM mom_cards_heroes AS mch LEFT JOIN mom_cards_heroes_schools AS mchs ON mch.id = mchs.heroesid LEFT JOIN mom_cards_schools AS mcs ON mchs.schoolid = mcs.id WHERE mch.`publish` = 1 GROUP BY mch.id ORDER BY mch.factionid, mch.name_fr ASC Mais pas suffisant x)
  2. Problème API Facebook

    Up J'ai réussi à contourner le problème en récupérant l'id de chaque commentaire et en cherchant le nom qui correspond au compte. Ça fonctionne Par contre, j'ai un autre soucis auquel je n'avais pas pensé plus tôt et que je n'arrive pas à résoudre depuis 2 jours... Les tokens de facebook ont une durée de vie de seulement 1 heure ^^' Apparemment il y a un moyen d'en récupérer régulièrement, mais impossible de savoir (et comprendre) comment
  3. Problème API Facebook

    Hello, j'ai un petit soucis en essayant d'utiliser l'API de facebook (FQL) afin de récupérer les commentaires, leur id et leur auteur depuis une page. Ce que j'ai réussi à faire sans soucis : avoir le commentaire et son id Ce que je ne parviens pas à faire : avoir le nom d'utilisateur Dans la mesure où il semblerait que l'API ne prenne pas en charge les jointures, je suis obligé de récupérer d'abord les commentaires, et dans chaque commentaire chercher le nom d'utilisateur en fonction de son id. Le problème est simple : les id facebook sont des entiers long... (supérieur à 12 chiffres donc) Et PHP s'en va me basculer ça en puissance... Du coup, allez faire un requête du type SELECT name FROM user WHERE uid = 1.49875E+231546 Forcément l'API aime pas et m'envoie chier xD Comment faire pour forcer le paramètre en entier long ? // Facebook // $dialog_url = 'https://www.facebook.com/dialog/oauth?client_id=' . $app_id . '&redirect_uri=' . urlencode($my_url); // echo ('<script>top.location.href="' . $dialog_url . '"</script>'); // $token_url = 'https://graph.facebook.com/oauth/access_token?client_id=' . $app_id . '&redirect_uri=' . urlencode($my_url) . '&client_secret=' . $app_secret . '&code=' . $code; // $access_token = file_get_contents($token_url); $access_token = 'AAACEdEose0cBAFUKEs5LZBH9Vz2eWkmUzUJpdtMuPdRds3Hz50kcFcvxz5cQbr8sT6p14QfVSlgekZAsPR167854ZC3ATIx9p9nziwkUJGtOh3h5Hz2'; // Récupérons l'ensemble des commentaires de la page $query = 'https://graph.facebook.com/fql?q=select+post_id,+message,+comments+from+stream+where+source_id=304777202963749+limit+10&access_token=' . $access_token; $result = file_get_contents($query); $object = json_decode($result, true); // Analysons les posts if (!empty($object)) { $object = $object['data']; $i = 0; // Pour chaque commentaire, on s'arrange pour trouver le nom d'utilisateur foreach ($object as $post) { $list = $post['comments']['comment_list']; foreach ($list as $comment) { echo '<div class="debug" style="display: none;">'; print_r($comment); echo '</div>'; $query = 'https://graph.facebook.com/fql?q=select+name+from+user+where+uid=' . $comment['fromid'] . '&access_token=' . $access_token; $result = file_get_contents($query); $userObject = json_decode($result, true); // On remplie notre petit tableau une tranche sur 2 (le reste étant alloué à twitter if ($i%2 == 0) { $i++; } $network[$i] = array( 'type' => 'facebook', 'id' => $post['post_id'], 'screen_name' => $userObject['data']['name'], 'text' => $comment['text'] ); $i++; } } } echo '<div class="debug" style="display: none;">'; print_r($network); echo '</div>'; for ($i=0;$i<=count($network);$i++) { if (isset($network[$i])) { if ($network[$i]['type'] == 'facebook') { echo '<li><img src="template/images/facebook-list.png" alt="facebook" /><a href="#' . $network[$i]['id'] . '">' . $network[$i]['screen_name'] . '</a>' . $network[$i]['text'] . '</li>'; } else { echo '<li><img src="template/images/twitter-list.png" alt="twitter" /><a href="http://twitter.com/MoMCards/status/' . $network[$i]['id'] . '" target="_blank">@' . $network[$i]['screen_name'] . '</a> ' . $network[$i]['text'] . '</li>'; } } }
  4. La section folle

    non je parlé de l'effet de transition quand on passe le curseur sur une image
  5. La section folle

    Pour seulement la dernière liste ? Elles ont toutes le même style et la même structure Oo Bon, ceci dit on va pas se pleindre, le display: inline-block est suffisant, j'en ai profité pour faire sauter les float et clear à gogo Autre question tant qu'on y est, l'animation est lente sur GSM (de l'ordre de 10 à 20 secondes), une idée de la cause et de la façon dont améliorer ça ?
  6. La section folle

    Hello les webmasteriens et webmasterienne ! Aujourd'hui, je vous faire pars d'un problème de design mais aussi et surtout de code... J'utilise les nouvelles balises HTML5 pour mon site (section, article, nav and co) et en voulant refaire une page aujourd'hui, je me suis heurté à un problème à n'y rien comprendre : Le dernier article (Nécromancien) accessible via ce lien http://93.1.39.42/test/fr/cards-monster-mosaic.html#necro est en dehors de la section contrairement aux autres o0 Aucune différence de code ou de css, tous les autres articles sont traités de la même façon et c'est le seul qui déconne... Même sous firefox (vue kikoo 3D), l'article nécro est complètement à l'ouest et pourtant, il est sur la même couche que ses semblables Y-a-t-il une limite de dimension attribuée aux sections ?? Comment faire pour régler ceci sans passer par un height définie en hard ?
  7. Histoire de tableau

    temps qu'à faire, j'aimerais optimiser cette requête SELECT monsters.qty, sorts.qty, fortunes.qty FROM ( (SELECT SUM(qty) AS qty FROM mom_deck_monsters WHERE deckid = :id) AS monsters, (SELECT SUM(qty) AS qty FROM mom_deck_sorts WHERE deckid = :id) AS sorts, (SELECT SUM(qty) AS qty FROM mom_deck_fortunes WHERE deckid = :id) AS fortunes ) J'ai essayé SELECT SUM(mom_deck_monsters.qty), SUM(mom_deck_sorts.qty) FROM mom_deck_monsters, mom_deck_sorts WHERE mom_deck_monsters.deckid = 1 AND mom_deck_sorts.deckid = 1 Mais ça marche pas :/ Le plus étrange, c'est que j'ai l'impression qu'il m'additionne les tables entre elles alors que je lui précise quelle champ additionner...
  8. Histoire de tableau

    je me répond à moi même, comme quoi l'acharnement a du bon $cost = array(0=>0,1=>0,2=>0,3=>0,4=>0,5=>0,6=>0); while ($data = $query->fetch(PDO::FETCH_OBJ)) { $cost[$data->cost-1] += $data->qty; } L'idée est simple, on crée un tableau en utilisant cost-1 pour index et qty pour valeur, ce qui permet de démarrer le tableau à 0. On en profite pour additionner la nouvelle à la valeur précédente dont l'index est identique. Mais il se trouve que ta requête semble tout aussi correct Oo Pourtant j'avais pas réussi avec les group by x) Merci merci merci
  9. Histoire de tableau

    Bizour bizour, voilà le topo, j'essaye de réaliser un graphique avec des valeurs que je peux obtenir depuis différentes tables. Le soucis, c'est qu'il faut que je réalise certains calculs en fonction de certaines contraintes x) J'ai par exemple 2 tables à exploiter Ces tables sont constituées de la façon suivante mom_cards_monsters(id,name,cost); mom_deck_monsters(deckid,monsterid,qty); A l'aide de la requête suivante j'obtient un premier résultat SELECT cost, qty FROM mom_deck_monsters INNER JOIN mom_cards_monsters ON mom_deck_monsters.monsterid = mom_cards_monsters.id WHERE deckid = 1 array ( array(1,5), array(2,3), array(2,1), array(5,3) ) Chouette, mais pour le moment non exploitable ' Il faudrait que les valeurs (qty) dont le cost est identiques soit additionnées entre elles. J'ai bien trouvé array_sum dans la documentation, mais il me faudrait quelque chose de la forme : array ( cost => array(qty,qty,qty) ) j'ai pensé à for ($i=1;$i<=7;$i++){ $result[] = mysql_sum($array[$i]); } La bonne nouvelle c'est que cost est forcément compris entre 1 et 7 Mais pour le moment, je patauge
  10. Soucis d'ancre

    c'est vrai que j'aurais dû commencer par ça, mea culpa />http://momcards.no-ip.org/index.php?controller=cards&action=monster#62 J'ai essayé d'adapté ta version à la mienne, et dès que je met du contenu dans la balise a, la balise se détache x) C'est bon j'y suis parvenu J'ai utilisé un span avec id à la place d'un a qui lui est vide (name n'est plus pris en compte sous html5 On est donc avec : <table> <tr> <td> <span id="n"></span> <a href="#n">link</a> </td> <td>blabla</td> <td>blabla</td> <td>blabla</td> <td>blabla</td> </tr> <!-- loop --> </table> Sans oublier dans le css table tr td span {position: absolute; margin-top: -50px;} Merci pour tout Stephane =)
  11. Soucis d'ancre

    si, mais le problème est similaire, la position absolue se fait par rapport au td qui contient le a et à ce moment c'est le a qui se démarque x)
  12. Soucis d'ancre

    le problème c'est qu'il s'agit d'un tableau, si je fais ça je détache ma ligne x)
  13. Soucis d'ancre

    déplacer les id n'est malheureusement pas possible, donc la seule possibilité serait visiblement l'utilisation de javascript problème, je ne voix pas du tout quoi faire, un scrolltop ?
  14. Soucis d'ancre

    j'ai une page sur mon site qui affiche un tableau avec à chaque ligne un id n et un lien dans une cellule pointant vers n le soucis est que mon lorsque l'on scroll, on se retrouve avec le menu par dessus le tableau, et si l'on souhaite utilisé un lien pointant vers n, la ligne se retrouve derrière le menu. Il y a bien la position relative avec le z-index, mais à ce moment le tableau se retrouve par dessus le menu (ou alors derrière et on retourne à la case départ). Ce n'est pas un bug vis à vis d'un navigateur ou autre, c'est un bug vis à vis de mon site. Il faudrait que lorsqu'on clic sur un lien menant vers une ancre, l'ancre s'affiche sous le menu et non derrière.
  15. Soucis d'ancre

    Bonjour, je rencontre actuellement un soucis avec des ancres sur mon site. j'ai réalisé un code avec la structure suivante <header> <nav> <!-- menu --> </nav> </header> <section> <article> <!-- contenu de la page --> </article> </section> Le problème est le suivant : Dans un soucis de pratique, le menu est en position fix tout en haut de la page (top: 0) Si je souhaite utiliser des ancres dans le contenu de ma page avec des liens du style index.php#id, l'ancre se retrouve cachée derrière le menu. J'ai essayé plusieurs choses, des padding, des margins, sur le menu, sur la section. J'ai également tenté de créer une div "fantôme" permettant de maintenir un espace permanent entre la section et le menu mais rien n'y fait C'est un bug qui est vraiment gênant puisque l'ancre fait pointée directement sur le contenu à consulter :/
×