Salut.
Sunt incepator in ale php-ului si va cer un pic de ajutor.
Am creat in user fields, in checkout, o bifa pentru client, sa selecteze el daca vrea factura pe firma sau persoana fizica.
Ce vreau eu sa fac, este sa si afisez ce a selectat.
Am creat astfel:
<?php
$vm_persoana = 1;
if ( $vm_persoana == 2 ) {
echo "Persoana juridica";
} else {
echo "Persoana fizica";
}
?>
si nu merge
vm_persoana este field name
1 e pers fizica
2 e pers juridica
daca pun <?php $db->p("vm_persoana"); ?>, imi apare 1 sau 2 si nu vreau asta
cum sa fac sa chem din baza de date valoarea ?
functie in joomla virtuemart checkout
Moderatori: Moderatori, Start Moderator
Nici nu stiu cum sa zic.
Este vorba de un select, la un urma urmei. L'am numit vm_persoana, si virtuemartu inregistreaza in baza de date, ce valoare alege clientu.
1 e pentru fizica si 2 pentru juridica.
vm_persoana are ca titlu PHPSHOP_SHOPPER_FORM_PERS (ca am eng/rom)
1 are ca titlu PHPSHOP_SHOPPER_FORM_FIZICA
2 are ca titlu PHPSHOP_SHOPPER_FORM_JURIDICA
ce vreau eu de fapt, este exact inversul acestui proces. in urmatoarea pagina a procesului de comanda, sa citesc din baza de date ce a selectat clientu, valoarea 1 sau 2, si sa imi afiseze cuvantul asociat fiecarei cifre.
de exemplu, ca sa afisez numele companiei, fac asa:
<?php echo $VM_LANG->_('PHPSHOP_ORDER_PRINT_COMPANY') ?>: <?php $db->p("company"); ?>
si imi afiseaza
eh, daca fac asa si cu persoana, imi afiseaza 1, in loc sa imi afiseze 'fizica'
of, sper ca m'am facut inteles
multumesc frumos
Este vorba de un select, la un urma urmei. L'am numit vm_persoana, si virtuemartu inregistreaza in baza de date, ce valoare alege clientu.
1 e pentru fizica si 2 pentru juridica.
vm_persoana are ca titlu PHPSHOP_SHOPPER_FORM_PERS (ca am eng/rom)
1 are ca titlu PHPSHOP_SHOPPER_FORM_FIZICA
2 are ca titlu PHPSHOP_SHOPPER_FORM_JURIDICA
ce vreau eu de fapt, este exact inversul acestui proces. in urmatoarea pagina a procesului de comanda, sa citesc din baza de date ce a selectat clientu, valoarea 1 sau 2, si sa imi afiseze cuvantul asociat fiecarei cifre.
de exemplu, ca sa afisez numele companiei, fac asa:
<?php echo $VM_LANG->_('PHPSHOP_ORDER_PRINT_COMPANY') ?>: <?php $db->p("company"); ?>
si imi afiseaza
eh, daca fac asa si cu persoana, imi afiseaza 1, in loc sa imi afiseze 'fizica'
of, sper ca m'am facut inteles
multumesc frumos
-
iSeLast
- Junior Member
- Mesaje: 42
- Membru din: Mar Mar 30, 2010 2:35 pm
- Localitate: Rm. Valcea
- Contact:
Depinde ce face si acea functie din clasa ta, din cate pare, ea lucreaza la general, asa ca ar trebui sa o modifici putin.
Ca solutie pentru un SELECT care sa iti dea un string in locul unei cifre, ar fi:
Acum poate nu vrei sa modifici clasa, asa ca iti mai dau o solutie.
[php]
<?php
function callback($buffer)
{
return ($buffer==1 ? str_replace('1', 'fizica', $buffer) : str_replace('2', 'juridica', $buffer));
}
ob_start('callback');
$vm_persoana=1;
echo $vm_persoana;
ob_end_flush();
?>
[/php]
Functia callback iti va inlocui 1 sau 2 cu fizica/juridica in partea ta de cod delimitata de ob_start() si ob_end_flush, pentru mai multe detalii poti citi aici: http://www.php.net/manual/en/function.ob-start.php
Ca solutie pentru un SELECT care sa iti dea un string in locul unei cifre, ar fi:
Cod: Selectaţi tot
SELECT (
SELECT CASE form_pers
WHEN 1 THEN 'fizica'
WHEN 2 THEN 'juridica'
END) as tip_persoana
FROM `vm_persoana`Acum poate nu vrei sa modifici clasa, asa ca iti mai dau o solutie.
[php]
<?php
function callback($buffer)
{
return ($buffer==1 ? str_replace('1', 'fizica', $buffer) : str_replace('2', 'juridica', $buffer));
}
ob_start('callback');
$vm_persoana=1;
echo $vm_persoana;
ob_end_flush();
?>
[/php]
Functia callback iti va inlocui 1 sau 2 cu fizica/juridica in partea ta de cod delimitata de ob_start() si ob_end_flush, pentru mai multe detalii poti citi aici: http://www.php.net/manual/en/function.ob-start.php
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 24 vizitatori
