Hoe lege waarden uit tabel halen?..moet dit met SELECT eerst

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

Jan Douma

Jan Douma

05/05/2012 01:36:42
Quote Anchor link
Christiaan Scheermeijer op 05/05/2012 01:30:36:
Maakt het beeld niet veel completer, maar waarom gebruik je 2 verschillende extra fields contributions?
De code wat ik je gaf is van `Product Extra Fields` en wat je nu laat zien is van `Extra Product Fields 1.0` voor Online Merchant.

Dat maakt het niet veel duidelijker zeg maar..

Probleem is dat ik deze contributie er niet zelf heb opgezet voor de ajax search
en misschien dat ik weleens een extra fields contributie er eerder heb opgezet..weet het niet meer..viel me al eerder op
Online merchant zegt me niets omdat ik oscommerce gebruik..helaas is dit verwarrend
Ik heb tientallen contributies eropgezet en niet 100 % administratief kloppend dat ik precies weet wat ik gedaan heb
In proncipe zou het met de aanwijzingen te achterhalen zijn
Het is niet goed gedocumenteerd zoals het professioneel zou gebeuren
Ik kan maar één $epf array vinden...
Gewijzigd op 05/05/2012 01:42:59 door Jan Douma
 
PHP hulp

PHP hulp

26/11/2024 13:58:18
 
Christiaan Scheermeijer

Christiaan Scheermeijer

05/05/2012 01:43:09
Quote Anchor link
Om het duidelijker te maken, de eerste contributie is voor de `oude` OsCommerce de tweede is voor de nieuwste versie.
De resultaten van het eerste stuk code wat jij liet zien is voor de eerste Contri het gene wat jij wilt veranderen is de tweede Contri.

Helaas heb ik geen ervaring met die tweede en ziet er voor dit tijdstip erg verwarrend uit!

Wat hecht ik toch veel waarde aan OOP/MVC als je dit weer ziet :)
Gewijzigd op 05/05/2012 01:43:40 door Christiaan Scheermeijer
 
Jan Douma

Jan Douma

05/05/2012 01:49:52
Quote Anchor link
Ik vind leuk dat je probeert een oplossing te vinden voor me..kan zijn dat de russische programmeur die ik hiervoor ingehuurd heb nog met een fix komt
Ik dacht dat het wel relatief eenvoudig op te lossen zou zijn en heb die rus niet nodig, maar ja

Een andere mogelijkheid is dat ik een extra veld toevoeg op de shopadmnistratie die ja of nee laat zien in de kolom van de produktlijst als er een veld is toegevoegd
Liever niet, omdat het extra handelingen zijn

Niet alle contributies zijn meer voor oude versies oscommerce te gebruiken, begrijp ook niet dat er een contributie voor d elaatst eoscommerce versie op deze oud eversie kan werken..misschien weer met een kleine code aanpassing?
Christiann .. bedankt voor je inzet en het is al laat



Toevoeging op 05/05/2012 01:52:35:

Christiaan Scheermeijer op 05/05/2012 01:43:09:
Om het duidelijker te maken, de eerste contributie is voor de `oude` OsCommerce de tweede is voor de nieuwste versie.
De resultaten van het eerste stuk code wat jij liet zien is voor de eerste Contri het gene wat jij wilt veranderen is de tweede Contri.

Helaas heb ik geen ervaring met die tweede en ziet er voor dit tijdstip erg verwarrend uit!

Wat hecht ik toch veel waarde aan OOP/MVC als je dit weer ziet :)

Ja dit is verouderde software waar ik nog wat functionaliteit probeer aan toe te voegen, maar de shop draait al 10 jaar
Ik begrijp dat je er niet uitkomt?
Gewijzigd op 05/05/2012 01:57:47 door Jan Douma
 
Christiaan Scheermeijer

Christiaan Scheermeijer

05/05/2012 01:58:48
Quote Anchor link
Nee dan zou ik eerst die contributie moeten doorlezen (2200 regels) en daarna kijken wat er mis gaat, want dit probleem gaat ook weer samen met Ajax Search begrijp ik..

Ik denk dat jouw programmeur als die het nog herinnerd sneller klaar is dan nu.

Ik heb mijn best gedaan ;)
 
Jan Douma

Jan Douma

05/05/2012 02:01:44
Quote Anchor link
Christiaan Scheermeijer op 05/05/2012 01:58:48:
Nee dan zou ik eerst die contributie moeten doorlezen (2200 regels) en daarna kijken wat er mis gaat, want dit probleem gaat ook weer samen met Ajax Search begrijp ik..

Ik denk dat jouw programmeur als die het nog herinnerd sneller klaar is dan nu.

Ik heb mijn best gedaan ;)

Zeker weten..jammer had ik nog wel wat van je kunnen leren
Bedankt Christiaan!
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

05/05/2012 09:10:33
Quote Anchor link
Ik vind het altijd jammer om te zien dat dit soort gegevens altijd met meerdere queries worden opgehaald, terwijl dat gewoon met één query kan.
Als ik het goed begrijp heb je een tabel met producten, een tabel met extra velden en op die twee een koppeltabel. Een voorbeeld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SELECT p.prd_name, p.prd_price, pef.label, pef.value [....]
FROM
    (SELECT prd_name, prd_price
    FROM products
    ORDER BY prd_price
    LIMIT 15,15) AS p
LEFT JOIN
    prd_extra_fields_join AS pefj
    ON p.prd_id = pefj_prd_id
LEFT JOIN
     prd_extra_fields AS pef
    ON pef.pef_id = pefj.pef_id
ORDER BY
    p.prd_price, p.prd_id,  pef.sort_order
 
Jan Douma

Jan Douma

05/05/2012 10:50:49
Quote Anchor link
Inderdaad om de produktlijst te maken heeft de programmeur 2 queries gebruikt, misschien heeft dat te maken met ophalen vande gegevens met de foreach?

Om dezelfde veldwaarden t ekrijgen nu voor 1 produkt heeft ie wel 1 query gebruikt
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
 $products_id
= (int)$HTTP_GET_VARS['products_id'];

                      $extra_fields_query = tep_db_query("
                      SELECT pef.products_extra_fields_status as status, pef.products_extra_fields_name as name, ptf.products_extra_fields_value as value
                      FROM "
. TABLE_PRODUCTS_EXTRA_FIELDS ." pef
             LEFT JOIN  "
. TABLE_PRODUCTS_TO_PRODUCTS_EXTRA_FIELDS ." ptf
            ON ptf.products_extra_fields_id=pef.products_extra_fields_id
            WHERE ptf.products_id="
. (int) $products_id ." and ptf.products_extra_fields_value<>'' and (pef.languages_id='0' or pef.languages_id='".$languages_id."')
            ORDER BY products_extra_fields_order"
);

  while ($extra_fields = tep_db_fetch_array($extra_fields_query)) {
        if (! $extra_fields['status'])  // show only enabled extra field
           continue;
        echo  /* Advance software search bof */  '<tr>

      <td>
      <table border="0" width="50%" cellspacing="0" cellpadding="2px"><tr>
      <td class="main" align="left" vallign="middle" nowrap><b><font size="1" color="#666666">'
.$extra_fields['name'].': </b></font></td>';
        echo  '<td nowrap><font size="1" color="#666666">' .$extra_fields['value'].'<BR></font> </tr>
      </table>
      </td>
      </tr>'
;

  }

?>


Dit zou je nu voor produkten meer dan 1 kunnen gebruiken omhiervan ook een produktlijst te gaan maken?
In een plaatje en in het begin van deze topic heb ik uitgelegd wat die foreach fout doet..dus mogelijk dat het niets met de database zelf te maken heeft?

Toevoeging op 05/05/2012 11:46:10:

http://www.zerospec.com/testmap/produktlijst1produkt.jpg
Laat ik proberen om het programmeerprobleem vereenvoudigen tot het weergeven van d e veldwaarde voor 1 produkt-- zie plaatje
------------------------------------------------------------
De foreach word hier niet meer gebruikt !
-------------------------------------------------
Op de shopadministratie is het mogelijk om in de produktlijst één voor één door de produkten te lopen..je opent de produktinvoer bladzijde voor 1 produkt ( te zien in de produktlijst aan het grijze selectie driehoek ..welk produkt is geselecteerd )

De bestaande code die het éne produkt selecteert moet ook dan de querie die hierboven staat gaan gebruiken, want dat is voor 1 produkt
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
$products_id
= (int)$HTTP_GET_VARS['products_id'];

                      $extra_fields_query = tep_db_query("
                      SELECT pef.products_extra_fields_status as status, pef.products_extra_fields_name as name, ptf.products_extra_fields_value as value
                      FROM "
. TABLE_PRODUCTS_EXTRA_FIELDS ." pef
             LEFT JOIN  "
. TABLE_PRODUCTS_TO_PRODUCTS_EXTRA_FIELDS ." ptf
            ON ptf.products_extra_fields_id=pef.products_extra_fields_id
            WHERE ptf.products_id="
. (int) $products_id ." and ptf.products_extra_fields_value<>'' and (pef.languages_id='0' or pef.languages_id='".$languages_id."')
            ORDER BY products_extra_fields_order"
);

  while ($extra_fields = tep_db_fetch_array($extra_fields_query)) {
        if (! $extra_fields['status'])  // show only enabled extra field
           continue;
        echo  /* Advance software search bof */  '<tr>

      <td>
      <table border="0" width="50%" cellspacing="0" cellpadding="2px"><tr>
      <td class="main" align="left" vallign="middle" nowrap><b><font size="1" color="#666666">'
.$extra_fields['name'].': </b></font></td>';
        echo  '<td nowrap><font size="1" color="#666666">' .$extra_fields['value'].'<BR></font> </tr>
      </table>
      </td>
      </tr>'
;

  }

?>

Opmerking: voor Christiaan zou dit mogelijk wel op te lossen zijn?
 
Christiaan Scheermeijer

Christiaan Scheermeijer

05/05/2012 19:29:14
Quote Anchor link
Je zit nog steeds met hetzelfde probleem, welke contributie gebruik je of wil je controleren?
Het lijkt me dat je die tweede wil controleren, maar de bovenstaande code is weer voor die eerste..

Ik denk toch dat het handig is als je eerst duidelijk het probleem beschrijft, met de juiste code.
Dus niet verschillende problemen door elkaar..

Het is een beetje een zootje aan het worden. En eerlijk gezegd denk ik dat niemand er wat van snapt :)

Het probleem met 1 query is dat je dan niet de resultaten terug krijgt die niet bestaan (logisch).
Dit is juist zijn probleem, aangezien voor 1 product meerdere rijen in de extra velden tabel staan.

Om te schetsen:

Producten Extra Velden

Product1 - Merk -> Peugeot
Type -> 106
Product2 - Merk -> Honda
Product3 - Merk -> VW
Type -> Golf
Jaar -> 2005
Gewijzigd op 05/05/2012 19:37:44 door Christiaan Scheermeijer
 
Jan Douma

Jan Douma

05/05/2012 20:14:24
Quote Anchor link
Inderdaad word het zo lastig en de start moet duideljk zijn
Ik heb goed nieuws voor je dat mijn russische programmeur net een uurtje terug me e-mailde dat ie het gefixed had..is een expert.
Inderdaad werkt de foreach() nu correct!..super.
Ik heb er vandaag wel een nieuw ernstig probleem bij gekregen, zodanig dat er geen bestelling meer gedaan kan worden omdat de check-out niet meer werkt.
De payment modules zijnn niet meer te zien..lijkt op een configuratieprobleem
Kan me nog wel iets herinneren dat ik iets aan de database heb toegevoegd..iets met configuratie vorig week..misschien iets overschreven?

Ben blij met de nieuwe functionaliteit en geprobeerd het hier ook op te lossen, maar het probleem duidelijk te presenteren met de ee4nduidge startcode blijkt lastig te zijn..nou ja het is opgelost en nu nog weer de checkout werkend krijgen?
Bedankt!
 

Pagina: « vorige 1 2



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.