Αλλαγή τίτλων

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
nackgr
Δημοσιεύσεις: 1444
Εγγραφή: 22 Ιαν 2006 20:02
Τοποθεσία: Αθηνα
Επικοινωνία:

Αλλαγή τίτλων

Δημοσίευση από nackgr » 16 Οκτ 2012 10:50

Εχουμε τον παρακαω πινακα που παιρνει τα αποτελεσματα απο μια βαση

gen e r g . gr/reports/

Πως μπορουμε να αλλαξουμε

π.χ τους τιτλους τον στηλων (να βαλουμε κατι δικο μας που θα βλεπει ο επισκεπτης
π.χ DEMAND_ID χωρις να αλλαξουμε το αποτελεσμα απο την βαση
αυταααααααααααα...
e-Byte.gr
Dafuq.gr

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Αλλαγή τίτλων

Δημοσίευση από Apostolis_38 » 16 Οκτ 2012 11:27

Τραβάς ένα query όπου ζητάς να σου επιστρέψει το mysql_fields_name (http://php.net/manual/en/function.mysql-field-name.php) και μετά του λες:

Κώδικας: Επιλογή όλων

if $row[0] == "id" { echo "ΑΥΞΩΝ ΑΡΙΘΜΟΣ";}
Βασικά εγώ το έχω σε ξεχωριστό αρχείο όπου κάνω πρώτα ένα query για $num_fields = mysl_num_fields, μετά με ένα

Κώδικας: Επιλογή όλων

for &#40; $i = 0; $i < $num_fields; $i++ &#41;
χρησιμοποιώ το mysql_field_names και κάθε φορά απλώς πάω και αλλάζω το echo αναλόγως την περίπτωση και όπου το χρειάζομαι το κάνω require.

Άβαταρ μέλους
nackgr
Δημοσιεύσεις: 1444
Εγγραφή: 22 Ιαν 2006 20:02
Τοποθεσία: Αθηνα
Επικοινωνία:

Αλλαγή τίτλων

Δημοσίευση από nackgr » 16 Οκτ 2012 11:49

αυτο σκεφτηκα και επειδη θελω να γινεται cron

φτιαξαμε

Κώδικας: Επιλογή όλων

#!/bin/bash

job_id=&#40; '0001' '0002' '0003' '0004' '0005' '0006' '0007' '0008' '0009' '0010' '0011' '0012' '0013' '0014' '0015' '0016' '0017' '0018' '0019' '0020' '0021' '0022' '0023' '0024' '0025' '0026' '0027' '0028' '0029' '0030' '0031' '0032' '0033' '0034' '0035' '0036' '0037' '0038' '0039' '0040' '0041' '0042' '0043' &#41;
job_name=&#40; 'ΠΛΟΙΑΡΧΟΙ Α' 'ΠΛΟΙΑΡΧΟΙ Β' 'ΠΛΟΙΑΡΧΟΙ Γ' 'ΔΟΚΙΜΟΙ ΠΛΟΙΑΡΧΟΙ' 'ΜΗΧΑΝΙΚΟΙ Α' 'ΜΗΧΑΝΙΚΟΙ Β' 'ΜΗΧΑΝΙΚΟΙ Γ' 'ΔΟΚΙΜΟΙ ΜΗΧΑΝΙΚΟΙ' 'ΡΑΔΙΟΤΗΛ/ΤΕΣ Α' 'ΡΑΔΙΟΤΗΛ/ΤΕΣ Β' 'ΠΡΟΪΣΤ. ΟΙΚ/ΚΟΙ' 'ΟΙΚΟΝΟΜΙΚΟΙ Α' 'ΟΙΚΟΝΟΜΙΚΟΙ Β' 'ΔΟΚΙΜΟΙ ΟΙΚΟΝΟΜΙΚΟΙ' 'ΦΡΟΝΤΙΣΤΕΣ' 'ΒΟΗΘΟΙ ΦΡΟΝΤΙΣΤΕΣ' 'ΚΥΒΕΡΝΗΤΕΣ Α' 'ΚΥΒΕΡΝΗΤΕΣ Β' 'ΚΥΒΕΡΝΗΤΕΣ Γ' 'ΝΑΥΚΛΗΡΟΙ' 'ΑΝΤΛΙΩΡΟΙ' 'ΝΑΥΤΕΣ' 'ΝΑΥΤΟΠΑΙΔΕΣ' 'ΜΗΧΑΝΟΔΗΓΟΙ Α' 'ΜΗΧΑΝΟΔΗΓΟΙ Β' 'ΛΙΠΑΝΤΕΣ' 'ΚΑΘΑΡΙΣΤΕΣ' 'ΧΕΙΡΙΣΤΕΣ ΜΗΧΑΝΗΣ' 'ΑΡΧΙΘΑΛΑΜΗΠΟΛΟΙ' 'ΠΡΟΪΣΤ. ΑΡΧΙΘΑΛ/ΛΟΙ' 'ΘΑΛΑΜΗΠΟΛΟΙ Α' 'ΘΑΛΑΜΗΠΟΛΟΙ Β' 'ΕΠΙΚΟΥΡΟΙ' 'ΑΡΧΙΜΑΓΕΙΡΟΙ' 'ΗΛΕΚΤΡΟΛΟΓΟΙ' 'ΜΑΓΕΙΡΟΙ Α' 'ΜΑΓΕΙΡΟΙ Β' 'ΜΑΓΕΙΡΟΙ Γ' 'ΒΟΗΘΟΙ ΜΑΓΕΙΡΟΙ' 'ΚΥΒΕΡΝΗΤΕΣ Ρ/Κ' 'ΛΟΙΠΕΣ ΕΙΔΙΚΟΤΗΤΕΣ' 'ΕΚΠΑΙΔ. ΣΠΟΥΔ. ΚΑΤΑΣΤΡΩΜΑΤΟΣ' 'ΕΚΠΑΙΔ. ΣΠΟΥΔ. ΜΗΧΑΝΗΣ' &#41;

for &#40;&#40; i = 0 ; i < $&#123;#job_id&#91;@&#93;&#125; ; i++ &#41;&#41; do
#echo $&#123;job_id&#91;$i&#93;&#125;
mysql test -u test -τεστπασσ@@ -e "UPDATE  R_DEMANDS_SPCL SET SPCL_CD = replace&#40;SPCL_CD, '$&#123;job_id&#91;$i&#93;&#125;', '$&#123;job_name&#91;$i&#93;&#125;' &#41;;"
done
αλλα πεταει ερρορς για dubli entrys και τα ελληνικα τα περναει σαν κινεζικα
αυταααααααααααα...
e-Byte.gr
Dafuq.gr

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Αλλαγή τίτλων

Δημοσίευση από Apostolis_38 » 16 Οκτ 2012 12:00

Για να σου πετάει dublicate error σημαίνει οτι κάποια στήλη την βρίσκει πάνω από 1 φορά.
Οσο για το θέμα με τα Ελληνικά, είναι θέμα locale. Πιθανώς όχι τόσο απλό πάντως από τη στιγμή που μιλάμε για shell script. Ισως να μην αρκεί να αλλάξεις το locale.conf γιατί έτσι μπορεί να κάνεις μπάχαλο όλο το σύστημα.
Αυτό βεβαίως αν και εφόσον σε αφήσουν να το πειράξεις αν βρίσκεσαι σε hosting server...

Για να πω την αλήθεια πάντως το όλο εγχείρημά σου με έχει μπερδέψει.
Γιατί σε cron job και γιατί update;
Κάτι άλλο θέλεις να κάνεις που δεν το πιάνω.

Άβαταρ μέλους
nackgr
Δημοσιεύσεις: 1444
Εγγραφή: 22 Ιαν 2006 20:02
Τοποθεσία: Αθηνα
Επικοινωνία:

Αλλαγή τίτλων

Δημοσίευση από nackgr » 16 Οκτ 2012 12:07

να σου εξηγήσω το στορι

καθε μερα τραβιεται ενα backup απο μια oracle γινεται convert Και ανεβαινει σε μια mysql στο hosting τις σελιδας ολα αυτα αυτοματα , ο σκοπος ειναι να δειξουμε τα δεδομενα στους χρηστες αυτο το εχουμε καταφερει .....μονο που χρειαζεται καποια να γινουν user friendly π.χ ο χρηστης δεν ξερει οτι το id 0001 εινα ο πλοιαρχος πρεπει να γραφει πλοιαρχος

το ολο προβλημα τωρα ειναι πως θα κανω τα δεδομενα (οπου καθε μερα εχω καινουργια γιατι γινεται overwrite ολη η βαση )
να δειχνουν αυτα που θελω
αυταααααααααααα...
e-Byte.gr
Dafuq.gr

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Αλλαγή τίτλων

Δημοσίευση από Apostolis_38 » 16 Οκτ 2012 12:15

Κατ' αρχάς το όλο σκεπτικό να ονομάσεις ένα table field 0001, 0002 κ.λ.π. το βρίσκω λάθος.

Ξέχωρα απ' αυτό εσύ αυτό που θέλεις είναι να αλλάξεις την περιγραφή που βλέπει ο χρήστης.
Αρα απλά θα κάνεις το query και θα του πεις όπου

Κώδικας: Επιλογή όλων

if&#40;$row&#91;0&#93; == "0001"&#41; &#123;echo "ΠΛΟΙΑΡΧΟΙ A'";&#125;
κ.ο.κ.
Δυναμικά, στη σελίδα που βλέπει ο χρήστης.
Γιατί να πειράξεις το cron job ή τη mysql;

Και θέλει λίγη προσοχή γιατί το '0001' μπορεί άνετα να μπερδευτεί με το '01'.
Οπότε μάλλον θα χρειαστεί binary check ή field.

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Αλλαγή τίτλων

Δημοσίευση από dva_dev » 16 Οκτ 2012 12:21

Το έχεις πάρει λάθος.
Αυτό που χρειάζεσαι είναι ένας πίνακας με 2 στήλες.
Στην πρώτη στήλη θα είναι οι κωδικοί/λεκτικά που έχεις τώρα και εμφανίζεις.
Στη δεύτερη στήλη θα βάλεις τα λεκτικά που θέλεις να εμφανίζονται αντί για τους κωδικούς.
Στο query που φέρνεις τα δεδομένα θα κάνεις join με τον πίνακα αυτό και αντί για τον κωδικό θα δείχνεις αυτό που λέει η δεύτερη στήλη.

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης