Aller au contenu

Galeenet

Membre
  • Compteur de contenus

    53
  • Inscrit(e) le

  • Dernière visite

Messages postés par Galeenet

  1. je plussoie lanza, fais attention à t'investir la ou tu apportes de la valeur ajoutée.

    Oscommerce est effectivement un peu compliqué quand on veut modifier le script de base... en particulier parce qu'il a 4 5 ans, et que ca se sent, dans l'empilage des couches, la gestion désastreuse des contribs, et l'imbrication code / présentation.

    J'ai passé 10 jours ("vrais" jours) sur mon premier Osco (import des 700 produits d'Actinic, passage en full XHTML CSS, refonte de l'interface client, plusieurs contribs pour nettoyer le processus d'achat, et le fignolage), avec quelques compétences en PHP/mySQL

  2. :rolleyes: en plus je sentais que c'était une betise de ce genre :rolleyes:

    2 h de perdues hier, ca m'arrive rarement sur ce genre de syntaxe.... et un bon paquet de phpistes sur irc qui n'ont rien vu ...

    merci Dan !

  3. Depuis cet apres midi, j'ai un souci sur un de mes sites en dev.

    pour résumer, la connexion mysqli se fait bien, ca pinge correctement... mais impossible d'obtenir le moindre résultat.

    J'ai resume au test unitaire le plus simple :


    // il y a tout le contenu du fichier (sauf les valeurs de $sql_pass, etc )... mais rien d'autre avant ni apres !
    $sql = new mysqli($sql_host,$sql_user,$sql_pass,$sql_base) or die(mysqli_error($dblink));
    if(!$sql->ping()) echo "<br />PAS DE CONNEXION"; // => no problemo, ca n'affiche rien
    echo '<pre>'; print_r($sql->ping()); echo '</pre>'; // => ca affiche "1", donc plutot bien
    $query = $sql->query("SELECT 3+2") or $sql->errors[$sql->error]++; // => la requete la plus simple qui soit
    $query = $query->fetch_object;
    echo '<pre>'; print_r($query); echo '</pre>';
    // => .... et la est l'os... aucune réponse, pas de donnée, rien
    $sql->close();

    pour info, c'est un serveur dédié, qui héberge des sites en dev pour le moment.

    le phpinfo() indique une installation correcte de mysqli :

    mysqliMysqlI Support enabled

    Client API library version 5.0.32

    Client API header version 5.0.32

    MYSQLI_SOCKET /var/run/mysqld/mysqld.sock

    Directive Local Value Master Value

    mysqli.default_host no value no value

    mysqli.default_port 3306 3306

    mysqli.default_pw no value no value

    mysqli.default_socket no value no value

    mysqli.default_user no value no value

    mysqli.max_links Unlimited Unlimited

    mysqli.reconnect Off Off

    et ce que je comprends définitivement pas.. c'est que ce matin, ca passait bien, que je n'ai rien modifié de fondamental dans le site, ni sur le serveur !

  4. J'aurais fait une mise à jour décalée :

    la table A est en cours d'utilisation. A coté tu as une table A_origine, avec les données mises à jour.

    Tu lockes A, tu renommes A en A_old, tu renommes A_origine en A, et tu unlockes.

    Ensuite tu peux mettre à jour à nouveau :)

  5. Je penses qu'avant de se pencher sur le SQL, il faudrait ce pencher sur une méthode d'analyse (Merise, UML, etc.).

    pas le temps :cool:

    J'hésite entre quelques titres :

    51AN0h8tstL._AA240_.jpg

    The first part of this book discusses topics related to design and development. Topics include transaction processing and indexing theory, benchmarking and profiling, and advanced coverage of storage engines and data types. The authors also delve deep into the MySQL source code and system architecture at a level you won't find anywhere else. Essential advanced SQL is also covered, with discussion of subqueries, derived tables, and joins. These concepts are demonstrated in a range of situation-specific examples—from dealing with hierarchical data to performing Geographic Information System (GIS) examples with just MySQL. This section also covers MySQL 5's new enterprise features like stored procedures, triggers, and views.

    The latter part of this book devotes itself to administration topics. Topics include MySQL installation and upgrading, user administration, database backups, replication, and clustering. You'll also learn about the new data dictionary features available in MySQL 5.

    51XDX5A4RWL._AA240_.jpg

    C'est celui ci "le" O'Reilly ?

    La partie " Mise en œuvre " est consacrée à un aperçu général de MySQL, de son architecture, de ses outils, et des tâches courantes du développeur et de l'administrateur. La partie " SQL " traite de la conception des schémas de données et du support du langage SQL dans MySQL. Y sont décrits les principes fondamentaux d'une représentation efficace et pérenne de l'information. La troisième partie couvre les mécanismes à l'œuvre " Côté serveur ". On y étudie comment MySQL gère le stockage, l'indexation, l'optimisation ou la concurrence d'accès, avec pour objectif d'en tirer le meilleur parti. Enfin, " Côté client " est consacrée au développement d'applications, notamment en C, Java, et C#, qui bénéficient de pilotes natifs, mais aussi avec le langage de procédures stockées.
  6. Je commence à me pencher "sérieusement" (par opposition à "faire rentrer des données par palettes de 15 au chausse pieds dans la base") sur MySQL, et du coup je tombe sur mes limites (bizarre :). FOREIGN KEYS, optimisation, tuning, caching, etc.

    Du coup, je cherche un bouquin qui passe pas des heures sur l'installation et les exemples basiques, mais plus spécifiquement sur la modélisation des données, les approches intelligentes de design BD, les requetes complexes, etc. (j'utilise deja les jointures, l'import export, les select un peu complexes, mais bon voila... amateur, quoi :D )

    Vous avez une idée de bon bouquin dans le genre ?

  7. Relis bien ce que je t'ai dit a propos du plugin page connexe.

    Relis la doc wordpress :) ou installe en un : tu verras que les pages existent sur WP, et sont plus simples à gérer que sur DC. C'est un axe fort de développement WP sur les dernieres versions, et ca se rapproche de plus en plus d'un "vrai" CMS.

    EDIT : manque encore, pour atteindre le niveau minimal d'un CMS, la gestion du versioning, des parties privées (réservées aux membres inscrits) pour l'instant balbutiante... mais sinon... ? :)

  8. J'y ai songé, et j'ai deux possibilités :

    splitter par parametre, et ca faire dans les 4000 fichiers par jour, en admettant que mon dédié veuille bien charger et processer un fichier de 150Mo.

    splitter arbitrairement toutes les 10 000 lignes. beaucoup d'opérations, mais ca peut etre jouable.

    Plus en amont, je peux avoir un cron qui checke tous les quart d'heures si le fichier a depasse les x lignes, et le renomme avec un prefixe/suffixe.

    Ainsi le script de log ne trouvera plus le fichier, en créera un nouveau et roulez jeunesse.

    Ces solutions de split, c'est le "pis aller". Si aucun langage simple ne peut faire ce genre de choses sur un dédié "normal" (une dedibox, quoi :) ), alors je splitte.

  9. J'ai un process à faire sur du contenu textuel, et mes essais en PHP mettent à plat mutu comme dédié, donc je dois pas avoir choisi la bonne solution (litote :) )

    J'ai chaque jour un contenu textuel sous forme de log, avec des lignes du genre :

    date_AT_parametre_AT_contenu1_AT_contenu2@@\n

    Le parametre fait 10-30 caracteres, le contenu 1 20-50 cars, le contenu 2 0 - 600 cars.

    J'ai de 30 000 à 100 000 lignes de ce genre, et le fichier total produit chaque jour fait dans les 100-200 Mo.

    Ca c'est le gros morceau.

    Par ailleurs, j'ai un fichier d'environ 4000 "expressions", à remplacer par leur équivalent protégé dans le fichier d'au dessus.

    Par exemple, j'ai l'expression "mot1 mot2", et je veux remplacer dans chaque ligne du fichier "mot1 mot2" par "mot1+mot2".

    X 4000 expressions, X 50 000 lignes, je vous fais pas de dessin, avec un script php, meme optimisé au max (pas de regex, traitement par ligne, une array des expressions, boucle au plus simple) le dedie appelle le SAMU.

    Je sais pas par quel bout prendre le probleme :

    script shell, avec awk, avec autre chose ?

    script perl ? php en cli ?

    Je connais correctement php, et pas grand chose d'autre en prog, je suis pret a apprendre les rudiments d'un autre langage, mais je sais pas lequel :D

    Des conseils la dessus ?

    Les 4000 expressions sont fixes (meme si j'en ajoute, je me passerais d'un update complet de tous les fichiers précédents), le fichier est diférent et produit chaque jour par un de mes sites.

    SimpleXML

    Remontage brutal :)

    J'utilise SimpleXML, et en particulier strval pour récupérer la valeur d'un element en tant que string.

    Par exemple :


    var_dump($item);

    // Resultat (partiel) :
    ["group"]=>
    object(SimpleXMLElement)#12 (1) {
    ["content"]=>
    array(3) {
    [0]=>
    object(SimpleXMLElement)#13 (0) {
    }
    [1]=>
    object(SimpleXMLElement)#14 (0) {
    }
    [2]=>
    object(SimpleXMLElement)#15 (0) {
    }
    }
    }

    Je voudrais pouvoir faire un 'simple' :

    $group = $item->group;

    Mais ca ne renvoie aucune valeur.

    J'ai essayé :

    $group = (array) $item->group;

    Qui ne fonctionne pas plus.

    Une idée ?

×
×
  • Créer...